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

Каталог списка Ruby с Dir ['*'], включая dotfiles, но нет. а также

Как мне получить Dir['*'] для включения dotfiles, например, .gitignore, но не . и ..?

I.e., есть лучший способ сделать:

`ls -A`.split "\n"

возможно с Dir? Следующие решения близки, но оба включают . и ..:

Dir.glob('*', File::FNM_DOTMATCH)
Dir['{.*,*}']

Итак, следующие работы:

Dir.glob('*', File::FNM_DOTMATCH) - ['.', '..']

Но есть ли еще лучший способ сделать это?

Мне интересно, чтобы это исправить строку 9 Формула Метеор-Homebrew.

4b9b3361

Ответ 1

Вы не можете с Dir[], но вы можете с Dir.glob, который Dir[] вызывает:

Dir.glob("*", File::FNM_DOTMATCH)

Вы можете легко избавиться от . и ..:

Dir.glob("*", File::FNM_DOTMATCH).tap { |a| a.shift(2) }

Но я думаю, что, вероятно, лучше всего придерживаться вашего первоначального пути:

Dir.glob("*", File::FNM_DOTMATCH) - %w[. ..]

(между прочим)

Ответ 2

Здесь короче версия:

Dir['{.[^\.]*,*}']

Ответ 3

Следующее работает с Dir.glob:

Dir.glob("{*,.?*}")