Ruby 4.1 リファレンスマニュアル

instance method Dir#scan

scan -> [[String, Symbol]]Ruby 4.1 から[permalink][rdoc][edit]
scan {|entry_name, entry_type| ... } -> nil

self のファイルエントリ名と、その種別の組を取得します。

"." と ".." は含みません。エントリの並び順はファイルシステムに依存します。

ブロックを与えなかった場合は、エントリ名とその種別からなる 2 要素の配列を要素とする配列を返します。

ブロックを与えた場合は、各エントリのエントリ名とその種別を引数としてブロックを評価し、nil を返します。

エントリの種別については Dir.scan を参照してください。

[EXCEPTION] IOError:
既に self が close している場合に発生します。
例
dir = Dir.new('/example')
p dir.scan # => [["config.h", :file], ["lib", :directory], ["main.rb", :file]]

entries = []
dir.scan {|entry_name, entry_type| entries << [entry_name, entry_type] } # => nil
p entries # => [["config.h", :file], ["lib", :directory], ["main.rb", :file]]

[SEE_ALSO] Dir.scan

[SEE_ALSO] Dir#children