[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