0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【初心者向け】Ruby のまずいコード 25 本Advent Calendar 2021

Day 9

【Ruby のまずいコード】Pathname で与えられたディレクトリーでの glob

Last updated at Posted at 2021-12-08

お題

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

と書けます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?