ruby-reference-manual:615
From: okkez <okkez000@g...>
Date: Fri, 21 Dec 2007 00:42:43 +0900
Subject: [ruby-reference-manual:615] Dirのパッチ
okkez です。
Dir のパッチです。
* 1.8.0 より前のバージョン関する記述を削除
* @param の順番を仮引数のリストの順番と一致させた
* 例を後ろに移動した
ちょっとパッチの内容に自信がないので、良い部分のみ取り込んでください。
Index: Dir
===================================================================
--- Dir (revision 2351)
+++ Dir (working copy)
@@ -5,55 +5,32 @@
== Class Methods
---- [](*pattern) -> [String]
-#@if(version >= "1.8.0")
+--- [](*pattern) -> [String]
--- glob(pattern, flags = 0) -> [String]
--- glob(pattern, flags = 0) {|file| ...} -> nil
-#@else
---- glob(pattern) -> [String]
---- glob(pattern) {|file| ...} -> nil
-#@end
ワイルドカードの展開を行った結果を文字列の配列として返します。
+
パターンにマッチするファイルがない場合は空の配列を返します。
ブロックが与えられたときはワイルドカードにマッチしたファイルを
引数にそのブロックを 1 つずつ評価して nil を返します
- p Dir.glob("*") #=> ["foo", "bar", "baz"]
- p Dir.glob("./b*") #=> ["./bar", "./baz"]
-
- Dir.glob("b*") {|f| p f }
-
- #=> "bar"
- "baz"
-
-#@since 1.8.0
-@param flags [[m:File.fnmatch]] に指定できるフラグと同様のフラグを指定できます。
- このフラグを指定することでマッチの挙動を変更することができます。
-
- Dir.glob("*", File::FNM_DOTMATCH) #=> [".", "..", "bar", "foo"]
-
-#@end
-
@param pattern パターンを文字列で指定します。
パターンを "\0" で区切って 1 度に複数のパターンを指定することもで
きます。
#@since 1.8.0
パターンの区切りには "\0" のみ指定できます。
-#@else
- パターンの区切りには "\0" 以外に、空白類(スペース、タブ、改行)でパターンを複数指定できます。
#@end
#@since 1.9.0
配列を指定することで複数のパターンを指定できます。
#@end
- p Dir.glob("f*\0b*")
- => ["foo", "bar"]
-#@since 1.9.0
- p Dir.glob(["f*", "b*"]) # => ["foo", "bar"]
- p Dir["f*", "b*"] # => ["foo", "bar"]
+#@since 1.8.0
+@param flags [[m:File.fnmatch]] に指定できるフラグと同様のフラグを指定できます。
+ このフラグを指定することでマッチの挙動を変更することができます。
#@end
+
ワイルドカードには以下のものがあります。これらはバックスラッシュに
よりエスケープすることができます。ダブルクォートの文字列中では 2
重にエスケープする必要があることに注意してください。
@@ -84,7 +61,26 @@
foo/**/bar は foo/bar, foo/*/bar,
foo/*/*/bar ... (以下無限に続く)に対してそれぞれ
マッチ判定を行います。
+
//emlist{
+ p Dir.glob("*") #=> ["foo", "bar", "baz"]
+ p Dir.glob("./b*") #=> ["./bar", "./baz"]
+
+ Dir.glob("b*") {|f| p f }
+
+ #=> "bar"
+ "baz"
+
+
+ p Dir.glob("f*\0b*")
+ => ["foo", "bar"]
+#@since 1.9.0
+ p Dir.glob(["f*", "b*"]) # => ["foo", "bar"]
+ p Dir["f*", "b*"] # => ["foo", "bar"]
+#@end
+
+ Dir.glob("*", File::FNM_DOTMATCH) #=> [".", "..", "bar", "foo"]
+
Dir.glob("*") #=> ["foo", "bar"]
Dir.glob("fo?") #=> ["foo"]
Dir.glob("[^f]*") #=> ["bar"]
@@ -207,11 +203,7 @@
--- new(path) -> Dir
--- open(path) -> Dir
-#@if (version >= "1.8.0")
--- open(path) {|dir| ...} -> object
-#@else
---- open(path) {|dir| ...} -> nil
-#@end
path に対するディレクトリストリームをオープンして返します。
--
okkez
okkez000@g...
--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/
-> 615 2007-12-20 16:42 [okkez000@g... ] Dirのパッチ 617 2007-12-22 03:14 ┗[sheepman@s... ] 646 2007-12-25 15:29 ┗[okkez000@g... ] 667 2007-12-29 03:18 ┗[sheepman@s... ]