- 1
- 2
- 3
- 4
ignore(MainForm.g.Items.Add
(
if(! $['A'..'Z'].Concat($['а'..'я']).Concat($['А'..'Я']).Concat($['a'..'z']).Contains(tok[0])) $"#$code" else tok
));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+121
ignore(MainForm.g.Items.Add
(
if(! $['A'..'Z'].Concat($['а'..'я']).Concat($['А'..'Я']).Concat($['a'..'z']).Contains(tok[0])) $"#$code" else tok
));
Таки от Concat можно избавится.
Тем более глупо создавать 4 списка букв каждый раз при вызове этой функции при каждой итерации цикла.
Тем более глупо делать операцию О(n) поиска элемента в каждом списке, вместо О(1) обычного сравнения диапазонов.
http://ideone.com/9V3Ak
А ещё забавно, когда постят боян и плюсуют, а когда первый раз постили пару лет назад - минусовали. Говнокод, опередивший своё время!
Наследование, кстати, вообще многое усложняет.
Что например, кроме того, что с ним больше кода?
А хочу так:
А скала умеет последний вариант записи?
Паттерн-матчинг не предлагать.
Помоему среди них есть один выродок - F#
Он вроде так не умеет
Если очень хочется инкапсуляции - в Scala есть экстракторы, некий view, позволяющий осуществлять сопоставление с образцом, сохранив инкапсуляцию. Вот тебе пример: http://ideone.com/2xA5xW
Даже в хаскеле ж такого нет? Штука хорошая
То есть добавлять конструктора
Специального синтаксиса с пайпами там нет, всё через наследование.
В Haskell тоже нельзя добавлять.
Nemerle к вашим услугам
Скала что может этому противопоставить?
I think, that Scala is more carefull designed language, than Nemerle.
Did you mean "spell checker"?