50227


Rubyがミニツクっていうサイトでruby技術者認定試験対策の問題を解いているのですが、ドリル5の問題11の解説を読みながら、1~4行目までのコードの意味はわかるのですが、5行目のDir.new(".").each{}構文でeachがblockに渡す順番と渡すべきものを解説を読んでも理解できないので、教えて欲しいです。あと、ディレクトリの各エントリとはどう意味ですか。ファイル名とか個々の記事とかのことをエントリは指すみたいですけど、そういう意味ですか。わからない質問してたらすいません。


CC BY-SA 4.0
2018-11-11T16:17:32.147
50219
2018-11-12T13:39:50.770
30944
question
ruby
Dir.new(".").each{}でeachが渡す順番と渡すものを知りたい


`Dir#each` がブロックに渡すものはディレクトリ内のファイル名/ディレクトリ名の文字列です。順番は不定です。 ~~たいていの場合は`.`, `..`
が先頭に来ると思いますが。~~(そうでもないみたいでした)

エントリというのはディレクトリ内のファイル/ディレクトリを指しています。

Rubyのマニュアルも読んでみた方がいいと思います。

<https://docs.ruby-lang.org/ja/latest/class/Dir.html#I_EACH>


CC BY-SA 4.0
2018-11-11T23:00:59.780
50223
2018-11-12T13:39:50.770
2018-11-12T13:39:50.770
3249
3249
50219
answer


`Dir#each`が返すものは「物理エントリー」順に並んだファイル名です。  
つまり、`ls -f`したのと同じ結果が帰ってきます。決して不定ではありません。

エントリーというのは、そのディレクトリーないに存在するファイルやフォルダー一つ一つのことを言います。ディレクトリー構造に「登録」されるのでエントリーな訳です。


CC BY-SA 4.0
2018-11-12T01:16:08.757
50227
2018-11-12T01:16:08.757
14745
50219
answer