Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > rakeライブラリ > Stringクラス > pathmap
pathmap(spec = nil) { ... } -> String
[permalink][rdoc] [added by rake]
与えられた書式指定文字列に応じてパス(自身)を変換します。
与えられた書式指定文字列は変換の詳細を制御します。 指定できる書式指定文字列は以下の通りです。
完全なパスを表します。
拡張子付きのファイル名を表します。ディレクトリ名は含まれません。
拡張子なしのファイル名を表します。
パスに含まれるディレクトリのリストを表します。
パスに含まれるファイルの拡張子を表します。拡張子が無い場合は空文字列を表します。
拡張子以外すべてを表します。
定義されていれば、代替のファイルセパレータを表します。 定義されてい無い場合は、標準のファイルセパレータを表します。
パーセント自身を表します。
%d は数値のプレフィクスを取ることができます。
例:
'a/b/c/d/file.txt'.pathmap("%2d") # => 'a/b' 'a/b/c/d/file.txt'.pathmap("%-2d") # => 'c/d'
また、%d, %p, %f, %n, %x, %X には単純な文字列置換を行うための 置換パターンを表すパラメータを指定することが出来ます。 パターンと置換文字列はコンマで区切り全体を中括弧でくくります。 置換指定は、% と指示子の間に置きます。(例: "%{old,new}d") 複数の置換を行う場合はパターンをセミコロンで区切ってください。 (例: "%{old,new;src,bin}d")
正規表現や後方参照をパターンとして使用することがあるかもしれません。 中括弧、コンマ、セミコロンはパターンと置換文字列に使用しないでください。
例:
"src/org/onestepback/proj/A.java".pathmap("%{^src,bin}X.class") #=> "bin/org/onestepback/proj/A.class"
置換文字列に '*' を指定した場合は、置換文字列を計算するためにブロックを評価します。
例:
"/path/to/file.TXT".pathmap("%X%{.*,*}x") { |ext| ext.downcase } #=> "/path/to/file.txt"