- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
Функция ЭтоБуква(Буква)
Возврат Найти("еоатинркулмДСвПдОсКцчыгзпбТНИьБФхВяРАЗЭйУЕГМЦжщЙШЩЫЛЯЧЬХЪЖЮЁёшъфэюQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm", Буква) > 0;
КонецФункции
Функция ЭтоЦифра(Буква)
Возврат Найти("1234567890", Буква)>0;
КонецФункции // ЭтоЦифра()
Функция ЭтоБукваИлиЦифра(Символ)
Возврат Найти("еоатинркулмДСвПдОсКцчыгзпбТНИьБФхВяРАЗЭйУЕГМЦжщЙШЩЫЛЯЧЬХЪЖЮЁёшъфэюQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890", Символ) > 0;
КонецФункции // ЭтоБукваИлиЦифра()
Из типовой конфигурации БГУ 2.0.
На первый взгляд реализация забавна :-) Но, в общем-то, это не является говнокодом: просмотрев в гугле различные "рейтинги букв", получил примерно то же самое.
Тем не менее, можно решить вопрос с помощью проверки кода символа.
А если навскидку прикинуть, то гораздо больше выкладывается говнокода по С++, РНР, JAVA.
И вообще, что за дибильная манера хаить тот или иной язык программирования? Или извилина настолько прямая, что не в силах понять, что каждый язык предназначет для своих целей. И нет такого универсального языка, который бы решал абсолютно все задачи.
Но то что языки хуевые - абсолютно не согласен. Повторюсь, каждый язык решает определенные задачи. То что можно написать на 1С, никогда не напишешь, например, на PHP. И наоборот.
- когда касается дело синтаксиса, выразительных средств, возможностей стандартной библиотеки, производительности
С математикой там тоже куча треша была. Вот, например, мой любимый баг в 7.7
Если в запросе вызвать функцию, суммирующую значения, над вещественными числами (например, какие-то суммы), эта блядь приводит их к целочисленному. Помогает только магическое подёргивание в виде +1-1.
Нафига делать разные разряды? Если это цена, то например Сумма(15.2). Есть количество, то Сумма(15.3). И так применить ко всей логике.
Нужно понимать, что ты создаешь и как это будет работать.
И, почему-то, висит в списке "топ десять известных багов".
Согласно правилам приближенных вычислений, или как они там правильно называются.
> И, почему-то, висит в списке "топ десять известных багов".
Потому что мозг народа еще со школы безнадежно проёбан калькуляторами и плавучкой, и почти никто уже не видит разницу между 1.00, 1.0 и просто 1.
P.S. Баг тут скорее в том, что прибавление единички какого-то хрена исправляет ситуацию.
В любом случае, я готов допустить, что такая задумка вполне легальна. Но! Никаких предупреждений о таких граблях нет, ни в документации, нигде.
Или хотя бы исключение/ворнинг о том что мы хотим сложить целое с дробным, а яблоки сплюсовать яблочным желе.
И чтобы годные целые яблоки не неявно не резались и не кастились в желе.
Программиста, который делал 1С.
Неявные преобразования это всегда плохо (даже расширения иногда портят жизнь). И особенно понижение точности.
>Нафига делать разные разряды?
Могут совмещаться разные модули кода, а в них разная точность, мог быть рефакторинг и не везде поменяли. Примеров - миллион.
Сайт только у меня глючит?