1+2 дают 540... не пойму почему

sadman41
Offline
Зарегистрирован: 19.10.2016

b707 пишет:

Делать "+0" необязательно, для того чтобы из строки конфига получить числов Перле вообще ничего не нужно,  все числовые строки и так считаются числами и наоборот.

Есть моменты, когда без попа (+0) не обойтись. Не буду утверждать, но в defined($var) или if ($var) ... как раз имеет значение предварительная конвертация строки в число. Я как-то на этом обжегся, поэтому теперь сразу делаю +0. Сложно отладку вести через в десятках килобайт перловой каши. 

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

Есть моменты, когда без попа (+0) не обойтись. Не буду утверждать, но в defined($var) или if ($var) ... как раз имеет значение предварительная конвертация строки в число. Я как-то на этом обжегся, поэтому теперь сразу делаю +0. Сложно отладку вести через в десятках килобайт перловой каши. 

Ну в принципе да. Хотя на мой взгляд - если опасаешься левых символов во вводе - проще сделать валидацию по шаблону, благо в Перле с его регекспами это базовое средство языка. Мне как-то никогда не приходилось "+0" в строчках делать.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, про Perl я ничего говорить не буду, ибо нефиг. ТС утверждал, что такое происходит во всех перечисленных языках. Я же говорю, что фигушки там.

sadman41
Offline
Зарегистрирован: 19.10.2016

Регексп - дорогая операция, +0 гораздо дешевле. В однократных запусках пойдет, но если скрипт в куче форков начинает пускаться ежемиллисекундно, то начинаешь экономить на всём (я как-то недельку с профайлером перла посидел, промерял всё подряд). И для конфига - идеально, на мой взгляд. Если юзер наговнякал туда буковок вместо нужных чисел, то перл сразу и обругает его страшно, когда +0 делать начнет. Ну и сразу в die выпасть можно.

b707
Offline
Зарегистрирован: 26.05.2017

ЕвгенийП пишет:

Ну, про Perl я ничего говорить не буду, ибо нефиг. ТС утверждал, что такое происходит во всех перечисленных языках. Я же говорю, что фигушки там.

Евгений, не надо так серьезно - забудьте вы про ТС вообще! Чтобы он ни имел в виду - совершенно очевидно, что причина его проблем не в языках, а просто в неумении думать и искать решения.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707,

ну, не перл же мне обсуждать, прости Господи :)

А про ТС Вы зря так. Он уже всем доказал, что настоящий пацан! Ведь если танцору мешают яйца, значит, как минимум, они у него есть.

Правда, тема списка из 20-ти языков, с уровнем знания выше университетского, осталась нераскрытой :(