お題
Pathname オブジェクトでディレクトリーパスを与えると,そのディレクトリー(サブディレクトリーも含む)内の HTML ファイルのパスの一覧を表示するメソッドを定義してください。
表示されるパスは,与えられたディレクトリーパスからの相対パスとします。
HTML ファイルの拡張子は .html
のみとします。
コード
require "pathname"
def show_htmls(dir)
Pathname.glob(dir + "**/*.html") do |path|
puts path.relative_path_from(dir)
end
end
改善
Pathname クラスの glob
はクラスメソッド版 Pathname.glob のほかにインスタンスメソッド版 Pathname#glob があります。
後者を使うと
require "pathname"
def show_htmls(dir)
dir.glob("**/*.html") do |path|
puts path.relative_path_from(dir)
end
end
と書けます。