- 1
fizzBuzz2 = (a) => [[['fizzBuzz'], ['fizz', 'buzz']], [null, [a, a]]] [+!((a%3 === 0) || (a%5 === 0))] [+!((a%3 === 0) && (a%5 === 0))] [+!(a%3 === 0)]
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
fizzBuzz2 = (a) => [[['fizzBuzz'], ['fizz', 'buzz']], [null, [a, a]]] [+!((a%3 === 0) || (a%5 === 0))] [+!((a%3 === 0) && (a%5 === 0))] [+!(a%3 === 0)]
fizzBuzz одной строкой на ES6
Борманд на сишке покруче мутил через zero-terminated strings.
Упрощая, понимаем, что советский чугунный тернарник даёт простой и короткий результат. Во славу 3.14159265 и его минимализму.
Борманд побеждает здравый смысл, написав самый короткий и самый непонятный код.
З.Ы. Зато можно заюзать slice() вместо substring()!Жаль, что скобочки как в питоне не пашут.
Теперь 3.14159265 должен взять свои слова обратно?
Тьфу, что это я... Если убрать пробелы, тернарник всё равно короче. Если даже учесть моё исправление, всё равно 1 символ остаётся:
Зря плюсовали Борманда.
P.S. Азаза, три символа остаётся. Борманд убрал общие скобки, а я - нет:
Один:
Ха! Тернарник может победить только тернарник!
Так будит 0bazz или fizz0 на некаторых числах нехорашо. иначе можно заминить бы a%3?0:'fizz' на кароткое a%3||'fizz' что тоже не работоет
> || a
Ещё если индекс считать обычной арифметикой, выйдет на символ короче.
А как бы поступил Иисус Царь?
If the format is exhausted while arguments remain, the excess arguments are evaluated (as always) but are otherwise ignored [...]
Только http://govnokod.ru/12158#comment161536