Можно ли пересечь символические каталоги в Ruby с помощью "**" glob?
В Ruby Dir.glob("**/*.rb")
(например) не пересекается с символическими каталогами. Возможно ли, чтобы **
проходил символические ссылки?
Я использую два камня, которые ищут файлы таким образом, но мне нужны они, чтобы видеть файлы в символическом каталоге.
Ответы
Ответ 1
Джонатан умный и хитрый подход великий, способный прорезать орды символических ссылок, но просто щелчок нескольких звездочек, муахаха. Однако у него есть неудачный побочный эффект не возвращения матчей с немедленным ребенком. Улучшенная версия может быть:
Dir.glob("**{,/*/**}/*.rb")
Который (в моих тестах) выполнит одну символическую ссылку и вернет непосредственные дети.
Ответ 2
Обычно не с рекурсивным поиском из-за риска бесконечных циклов.
Но это обсуждение может помочь:
Dir.glob("**/*/**/b")
будет следовать символической ссылке до одного раза.