Как стать автором
Обновить

Комментарии 22

В общем то, поведение почти очевидно. Только пример с датой немного смущает. Видимо так задан метод приведения этого типа в строку.
P.S. Троеточие в русском языке называется многоточием
НЛО прилетело и опубликовало эту надпись здесь
Извиняюсь, привык что все представляется обектами.
Получается, что эта конструкция языка ведет себя по разному в зависимости от контекста.
НЛО прилетело и опубликовало эту надпись здесь
localtime просто возвращает разные значения в списковом и в скалярном контексте.

Подробнее см. localtime, wantarray.
Кстати, нюансы поведения методов также присутствуют и в других языках.

Типичный пример использования — использование block_given? в Ruby для того, чтобы возвращать список при отсутствии блока, или итерировать по списку при его наличии.

Нечто вроде
def items(&block)
  return self._items  unless block_given?
  self.items.each(&block)
end


items.each { |item| item.op }
items { |item| item.op }

Тут скорее ошибка неправильного употребления, а не названия. Три точки — это три точки, а не (много|трое)точие — отдельный знак …
вот поэтому нас и не любят © :)

Perl очень гибкий и сильный язык, но из-за того, что программисты на perl познав ДАО начинают писать строки вроде

process_this_line($_) if 20 .. 40;

То другие программисты ( которые еще не познали ДАО ) считают Perl очень запутанным и сложным языком.

Я не программист, я любитель. Года три назад прочитав книгу по Perl, я один скрипт написал используя новые знания, используя все хитрости и неочевидности которые я выучил. В начале этого года я снова открыл этот скрипт, у меня заняло минут 50 понять, как именно работает скрипт.
написал используя новые знания, используя все хитрости и неочевидности которые я выучил

И это было вашей ошибкой. Надо писать понятный и самочитаемый код.

Некоторые при изучении perl начитаются однострочников, и начинают их вставлять где только смогут. При этом нужно выжидать месяц, и когда они забудутся, заставлять переписывать. Очень помогает воспитывать хороший код. :)
А если цель написать максимально быстродейственный код?

Вот Монс в одной из своих лекций, говорит, что операции копирования при больших объемах данных это уже плохо.

Поэтому вместо for my $var ( @arr ) и т.д.
Стоит юзать @_ и $_

Да, будет не очень красиво и не очень читабельно.

Вот, кстати эта лекция.



НЛО прилетело и опубликовало эту надпись здесь
В некоторых случаях все же лучше использовать for my $var ( @arr ), потому что @_ и $_ могут переопределяться при вызовах других функций внутри цикла. Не помню точно в каких случаях, но как-то сталкивался с таким поведением.
Использование хаков и неочевидных конструкций языка в целях ускорения, в ущерб читаемости — это шаг когда алгоритмические оптимизации и профилировщик уже ничего не дают, а скорости все еще не хватает.
И то стоит подумать — а не нарастить ли мощьности железа, если планируется долговременное использование этого софта.
Хочется верить, что после этой статьи не начнут куда ни попадя пихать flip-flop.
Лингвистический комментарий:
yada-yada (если не ошибаюсь, 嫌で嫌で) скорее переводится как «ой-ой», чем как «бла-бла». Это одно из тех слов/фраз, которые хорошо переводятся с Японского на Русский с полным сохранением множества смыслов и эмоциональных значений. Обилие общих слов подобного типа иногда заставляет меня думать о происхождении Японского от Русского. )
В английском это имеет значение, аналогичное русскому «и тэ дэ и тэ пэ». Только пишется это чаще не yada-yada, а yadda-yadda (хотя оба варианта допустимы и популярны). К японскому не имеет никакого отношения.

Японский к русскому тоже не имеет никакого отношения, его вообще большинство лингвистов полагает изолированным языком — а кто не полагает, прослеживают связь с алтайскими, которые с русским (индоевропейским языком) тоже никак не связаны.
В русском языке встречаются заимствования из тюркских языков, так что связь с алтайскими вполне возможна.
А в связи с чем минусы? Заимствования из тюрских языков — это реальность.
Хм
А если это русский потомок японского? ;)
Скорее и в русский и в японский пришло от общего корня эти слова. А вот какой корень — трудно сказать. Может индоевропейские, может алтайские, а может и сино-тибетские (хотя вряд ли).
И что же так не понравилось?
Не любое слово, созвучное японскому, происходит из японского.
yada-yada — обычное звукоподражание, ниоткуда не заимствованное.
etymonline.com/index.php?search=yadda
Двоеточие — тоже точки :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации