Каковы сравнительные преимущества шарика ('нечто*') по <нечто*>?

Я просто смотрел на кого-то, может сказать мне, как создать массив содержания каталога?. Неудивительно, шарики файла предлагались как ответ. То, что удивило меня, было то, что сообщение рекомендовало использовать glob() вместо <*>.

Я использую <*> потому что, именно это я изучил давным-давно и никогда не думал об этом. Который не является серьезным основанием.

Какой синтаксис Вы предпочитаете для globbing, и почему?

15
задан 6 revs, 3 users 74% 23 May 2017 в 10:27
поделиться

3 ответа

Лично я думаю, что <> сильно перегружен. Это вроде как означает "читать из итератора", но в определении того, какой итератор на мой вкус, слишком много магии и тонкости. Например, <$foo> и <$foo{bar}> означают совсем разные вещи, а магический голый <> означает что-то другое.

Я предпочитаю использовать glob и зарезервировать синтаксис <> для дескрипторов. Это сэкономит когнитивную нагрузку при выяснении, является ли содержимое <> паттерном, а не рукояткой (или чем-то, что разрешается к одной из них). Тем не менее, если вы мысленно ассоциируете нотацию <> с "итератором", а не с "чтением", вы можете предпочесть это функциональному синтаксису - по крайней мере, для тех случаев, когда вы хотите перешагнуть через результаты, а не генерировать список.

12
ответ дан 1 December 2019 в 03:04
поделиться

Этот perldoc, который вы связали, говорит, что есть некоторые проблемы с синтаксисом угловой кронштейны:

Один уровень двойной цитаты Интерпретация сделана первым, но вы не могу сказать <$ FOO> , потому что это косвенный файлхандл, как объяснено в предыдущий абзац. (В старше Версии Perl, программисты будут Вставьте вьющиеся скобки в силу Интерпретация в качестве имена файла GLAC: <$ {foo}> . В эти дни это считается Очиститель, чтобы вызвать внутреннюю функцию непосредственно как GLAC ($ FOO) , который Вероятно, правильный способ сделать это в первую очередь. )

Я в основном использую файл :: Найти и его ILK сам.

10
ответ дан 1 December 2019 в 03:04
поделиться
div.section > div
-121--557501-

В эти дни я придерживаюсь glob , потому что нахожу его более читаемым и удобным для новичков (*) по сравнению с использованием угловых скобок.

(*) perldoc-f glob работает.

2
ответ дан 1 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: