f.f.o. :: /add |
Александр Фенстер |
| add@fenster.name | fenster.name |
But why call iterr?
Well, the//operator looks like a skewed version of||, so the low-precedence version should probably be a skewed version ofor. We can't skew it visually (even Larry thought that using italics would be going a bit far), so we skew it phonetically instead:or->err.
Дело в том, что сегодня я убил час на следующую проблему. При переносе на FreeBSD поломался небольшой перловый скрипт (не мой), в котором
была объявлена функция err. Использовалась она до и после объявления, что вообще-то не является ошибкой в Perl,
но только если ваш Perl 5.8.9 на FreeBSD не собран с патчем defined-or, который не только добавляет новый модный оператор //,
но и определяет ему символьное имя, и имя это — err. В результате err ниже объявления функции
понималось корректно, тогда как выше рассматривалось как оператор defined-or со всеми вытекающими последствиями.
Нет, ну ведь всё логично, да? && — and. || — or.
Как назвать //? Да чего там думать, пусть будет err. Пускай люди помучаются.
Иногда меня действительно посещают сомнения в адекватности авторов этого любимого мною языка. А пост пишу в надежде, что когда-нибудь кто-нибудь будет пытаться починить похожую проблему, как, например, вот здесь, и сможет нагуглить вменяемое объяснение, не потратив на это много своего личного времени.