- 1
- 2
- 3
function toInt(number) {
return number && + number | 0 || 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+161
function toInt(number) {
return number && + number | 0 || 0;
}
http://ideone.com/igo7ag
Минут 10 назад меня ошарашили фразой о методе toInt(), который, якобы, есть в javascript. Гугл выдал всего одну ссылочку, в которой говорится о нем: http://javascript.ru/forum/misc/22100-funkciya-toint-razyasnite-pozhalujjsta-neskolko-momentov.html. Увидев данный код, я просто не мог не выложить его сюда.
krypt 23.11.2012 22:37 # +1
Но код ядрён. Насколько я могу судить, он работоспособен )
bormand 23.11.2012 22:55 # 0
Есть конечно, и даже работает ;) Но меня спрашивали именно про toInt().
Кстати этот toInt() возвращает 0 при ошибках, а parseInt() - NaN, видимо ради этого его и пытались запилить.
P.S. По ссылке это говнище упростили до красивого number | 0, которое тоже работает.
zloirock 24.11.2012 17:55 # +1
anonimb84a2f6fd141 23.11.2012 23:22 # +2
Господа rat4, Роман Кашицин (простите, если опечатался), как дела с ГК2.0 и его JSON-API, как поживаете, какие планы?
roman-kashitsyn 24.11.2012 08:30 # +2
Уже полтора месяца занят развёртыванием и допиливанием другого проекта + хардкор на работе, времени очень мало :(
Исправление косяков требует серьёзного переписывания фронтэнда, в локалке у меня лежит куча набросков, но они пока ещё не завелись. В проекте я всё ещё заинтересован, активная разработка, надеюсь, продолжится в ближайшее время.
anonimb84a2f6fd141 24.11.2012 11:15 # 0
ещё бы двенадцать рублей для круглого счёта.
Надеемся, и @рат4 отзовётся
LispGovno 24.11.2012 13:40 # −2
govnomonad 24.11.2012 06:25 # +4
блин, сначала подумал, что жабаскрипт научился частичному применению, но потом дошло, что это просто унарный плюс
zloirock 24.11.2012 11:40 # 0
Function.prototype.bind
govnomonad 24.11.2012 13:25 # 0
Fai 24.11.2012 13:29 # 0
scriptin 24.11.2012 16:18 # +2
TarasB 24.11.2012 11:05 # +4
Fai 24.11.2012 13:07 # 0
А вот нестрогая типизация - нехорошая.
TarasB 24.11.2012 13:09 # +1
Fai 24.11.2012 13:16 # 0
TarasB 24.11.2012 13:47 # +1
koodeer 24.11.2012 14:47 # −3
Тем не менее, недавно встретился пример (аналогичный код на разных языках), в котором статика отсосала у динамики: некие вычисления в Erlang'е спокойно продолжались, когда числа постепенно увеличились, и стали BigNum (или как они там зовутся). А в языке со статикой и с выводом типов изначально значения были выведены как int, и в ходе вычислений происходил фэйл (overflow).
anonimb84a2f6fd141 24.11.2012 17:21 # +2
LispGovno 24.11.2012 19:35 # −1
Статически типизированный язык со строгой типизацией. Ничего не переполнилось. Что я делаю не так?
guest 24.11.2012 19:40 # +1
> Ничего не переполнилось.
Как это не переполнилось? Хочешь сказать, что поле под выхлоп на ideone тоже не переполнилось?
UPD: Хаскель вменяет выражению тайпкласса Num тип Integer, если программистом не сказано что-то иное.
LispGovno 24.11.2012 19:43 # +3
Fai 24.11.2012 19:58 # +2
anonimb84a2f6fd141 26.11.2012 14:06 # −4
bormand только что #
Когнитивный диссонанс...
Спасибо страйко за цитирование с тегами, а то бы пришлось долбанный BB руками набирать...
zloirock 24.11.2012 11:45 # +3
http://es5.javascript.ru/x9.html#x9.4
guest 24.11.2012 12:41 # −4
guest 24.11.2012 12:48 # −3
zim 24.11.2012 14:50 # +3