Подтвердить что ты не робот

Можно ли пересечь символические каталоги в Ruby с помощью "**" glob?

В Ruby Dir.glob("**/*.rb") (например) не пересекается с символическими каталогами. Возможно ли, чтобы ** проходил символические ссылки?

Я использую два камня, которые ищут файлы таким образом, но мне нужны они, чтобы видеть файлы в символическом каталоге.

4b9b3361

Ответ 1

Джонатан умный и хитрый подход великий, способный прорезать орды символических ссылок, но просто щелчок нескольких звездочек, муахаха. Однако у него есть неудачный побочный эффект не возвращения матчей с немедленным ребенком. Улучшенная версия может быть:

Dir.glob("**{,/*/**}/*.rb")

Который (в моих тестах) выполнит одну символическую ссылку и вернет непосредственные дети.

Ответ 2

Обычно не с рекурсивным поиском из-за риска бесконечных циклов.

Но это обсуждение может помочь:

Dir.glob("**/*/**/b") будет следовать символической ссылке до одного раза.