- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
Функция ЭтоБуква(Буква)
Возврат Найти("еоатинркулмДСвПдОсКцчыгзпбТНИьБФхВяРАЗЭйУЕГМЦжщЙШЩЫЛЯЧЬХЪЖЮЁёшъфэюQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm", Буква) > 0;
КонецФункции
Функция ЭтоЦифра(Буква)
Возврат Найти("1234567890", Буква)>0;
КонецФункции // ЭтоЦифра()
Функция ЭтоБукваИлиЦифра(Символ)
Возврат Найти("еоатинркулмДСвПдОсКцчыгзпбТНИьБФхВяРАЗЭйУЕГМЦжщЙШЩЫЛЯЧЬХЪЖЮЁёшъфэюQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890", Символ) > 0;
КонецФункции // ЭтоБукваИлиЦифра()
Из типовой конфигурации БГУ 2.0.
На первый взгляд реализация забавна :-) Но, в общем-то, это не является говнокодом: просмотрев в гугле различные "рейтинги букв", получил примерно то же самое.
Тем не менее, можно решить вопрос с помощью проверки кода символа.
hometwo 01.05.2014 11:24 # −12
Danik 03.05.2014 17:19 # +4
А если навскидку прикинуть, то гораздо больше выкладывается говнокода по С++, РНР, JAVA.
И вообще, что за дибильная манера хаить тот или иной язык программирования? Или извилина настолько прямая, что не в силах понять, что каждый язык предназначет для своих целей. И нет такого универсального языка, который бы решал абсолютно все задачи.
guest 04.05.2014 06:08 # +1
Danik 05.05.2014 07:04 # +2
Но то что языки хуевые - абсолютно не согласен. Повторюсь, каждый язык решает определенные задачи. То что можно написать на 1С, никогда не напишешь, например, на PHP. И наоборот.
defecate-plusplus 05.05.2014 07:58 # +2
- когда касается дело синтаксиса, выразительных средств, возможностей стандартной библиотеки, производительности
eth0 05.05.2014 19:17 # −1
С математикой там тоже куча треша была. Вот, например, мой любимый баг в 7.7
Если в запросе вызвать функцию, суммирующую значения, над вещественными числами (например, какие-то суммы), эта блядь приводит их к целочисленному. Помогает только магическое подёргивание в виде +1-1.
bormand 05.05.2014 19:25 # +1
eth0 05.05.2014 20:02 # 0
eth0 05.05.2014 20:11 # +2
Danik 06.05.2014 03:29 # +2
Нафига делать разные разряды? Если это цена, то например Сумма(15.2). Есть количество, то Сумма(15.3). И так применить ко всей логике.
Нужно понимать, что ты создаешь и как это будет работать.
eth0 06.05.2014 20:56 # 0
И, почему-то, висит в списке "топ десять известных багов".
bormand 06.05.2014 22:47 # +2
Согласно правилам приближенных вычислений, или как они там правильно называются.
> И, почему-то, висит в списке "топ десять известных багов".
Потому что мозг народа еще со школы безнадежно проёбан калькуляторами и плавучкой, и почти никто уже не видит разницу между 1.00, 1.0 и просто 1.
P.S. Баг тут скорее в том, что прибавление единички какого-то хрена исправляет ситуацию.
eth0 07.05.2014 19:09 # +3
В любом случае, я готов допустить, что такая задумка вполне легальна. Но! Никаких предупреждений о таких граблях нет, ни в документации, нигде.
3.14159265 07.05.2014 19:16 # +3
Или хотя бы исключение/ворнинг о том что мы хотим сложить целое с дробным, а яблоки сплюсовать яблочным желе.
И чтобы годные целые яблоки не неявно не резались и не кастились в желе.
3.14159265 07.05.2014 15:16 # +1
Программиста, который делал 1С.
Неявные преобразования это всегда плохо (даже расширения иногда портят жизнь). И особенно понижение точности.
>Нафига делать разные разряды?
Могут совмещаться разные модули кода, а в них разная точность, мог быть рефакторинг и не везде поменяли. Примеров - миллион.
tirinox 01.05.2014 17:16 # +1
Voittamaton 01.05.2014 22:03 # +1
guest 02.05.2014 20:51 # +2
TarasB 05.05.2014 10:52 # +2
Сайт только у меня глючит?
Lure Of Chaos 03.05.2014 13:49 # +2
brutushafens 03.05.2014 14:08 # +2