[Moscow.pm] А все таки классный язык Perl.
Ivan Petrov
i.petro.77.00 на gmail.com
Пн Дек 10 02:36:24 PST 2012
>> когда я писал эту фразу, я не думал что сюда приплетут C(++) :)
>> я писал ее в русле сравнения с другими ЯВУ, упомянутыми тут - Ruby,
>> JS итп :)
> Значит наши контексты разошлись :) Но там ещё был хаскель! :))
> А возвращаясь к примеру со сложением строк и чисел, то лично для меня
> это очень стрёмный пример, так как он совершенно не разделяет ситуации
> типа:
> 425 + 'abc'
> 425 + '0'
фича тут в том что проверять надо не типы, а *данные*.
> или ещё хуже спокойно глотает такие вещи:
> 425 + '1.2'
> 425 + '1,2'
> и ошибку в числах потом найти трудно.
вот возьмем lua
print(tonumber("1,1"))
ексепшена не выдает
возьмем ruby:
irb(main):004:0> "1,1".to_i
=> 1
irb(main):005:0> "1,1".to_f
=> 1.0
то есть ruby действует строго так же как Perl в данном случае
perl -le 'print 0+"1,2"'
1
только руби, в отличие от Perl тебе выкинет еще миллионы ненужных
exception'ов с которыми ты будешь бороться с использованием to_[if]
но приведение типов != проверка входных данных! и как видно введение
типов указанную проблему не лечит и ничего кроме геморроя не
добавляет.
> Короче, я стараюсь этим не пользоваться кроме как в сиюминутных скриптах.
Подробная информация о списке рассылки Moscow-pm