種類
- 特異メソッド (36)
- インスタンスメソッド (12)
- クラス (10)
モジュール
- Enumerable (12)
キーワード
- ConditionVariable (10)
- [] (8)
- chunk (12)
- glob (16)
検索結果
先頭5件
-
File
. join(*item) -> String (39227.0) -
File::SEPARATORを間に入れて文字列を連結します。platform/DOSISH-supportで環境依存になる予定です。
...
File::SEPARATORを間に入れて文字列を連結します。platform/DOSISH-supportで環境依存になる予定です。
@param item 連結したいディレクトリ名やファイル名を文字列(もしくは文字列を要素に持つ配列)で与えます。
文字列A......とBを連結する際に、Aの末尾の文字とBの先頭の文字がFile::SEPARATORであった場合には、
まずこれらを削除した上で改めてFile::SEPARATORを間に入れて連結します。
引数の中に配列がある場合は配列要素を再帰的......例][ruby]{
File.join("a","b") # => "a/b"
File.join("a/","b") # => "a/b"
File.join("a/","/b") # => "a/b"
File.join("a","/b") # => "a/b"
File.join("a", ["b", ["c", ["d"]]]) # => "a/b/c/d"
File.join("", "a",... -
Dir
. glob(pattern , flags = 0 , base: nil) {|file| . . . } -> nil (127.0) -
ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。
...flags File.fnmatch に指定できるフラグと同様のフラグを指定できます。
このフラグを指定することでマッチの挙動を変更することができます。
//emlist[][ruby]{
Dir.glob("*") #=> ["bar", "foo"]
Dir.glob("*", File::FNM_......]
# ベースディレクトリの例
rbfiles = File.join("**", "*.rb")
Dir.glob(rbfiles) #=> ["main.rb",
# "lib/song.rb",
# "lib/song/karaoke.rb"]
Dir.glob(rbfiles, base: "lib") #=> ["song.rb",... -
Dir
. glob(pattern , flags = 0 , base: nil , sort: true) {|file| . . . } -> nil (127.0) -
ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。
...flags File.fnmatch に指定できるフラグと同様のフラグを指定できます。
このフラグを指定することでマッチの挙動を変更することができます。
//emlist[][ruby]{
Dir.glob("*") #=> ["bar", "foo"]
Dir.glob("*", File::FNM_......]
# ベースディレクトリの例
rbfiles = File.join("**", "*.rb")
Dir.glob(rbfiles) #=> ["main.rb",
# "lib/song.rb",
# "lib/song/karaoke.rb"]
Dir.glob(rbfiles, base: "lib") #=> ["song.rb",... -
Dir
. [](*pattern , base: nil) -> [String] (27.0) -
ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。
...flags File.fnmatch に指定できるフラグと同様のフラグを指定できます。
このフラグを指定することでマッチの挙動を変更することができます。
//emlist[][ruby]{
Dir.glob("*") #=> ["bar", "foo"]
Dir.glob("*", File::FNM_......]
# ベースディレクトリの例
rbfiles = File.join("**", "*.rb")
Dir.glob(rbfiles) #=> ["main.rb",
# "lib/song.rb",
# "lib/song/karaoke.rb"]
Dir.glob(rbfiles, base: "lib") #=> ["song.rb",... -
Dir
. [](*pattern , base: nil , sort: true) -> [String] (27.0) -
ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。
...flags File.fnmatch に指定できるフラグと同様のフラグを指定できます。
このフラグを指定することでマッチの挙動を変更することができます。
//emlist[][ruby]{
Dir.glob("*") #=> ["bar", "foo"]
Dir.glob("*", File::FNM_......]
# ベースディレクトリの例
rbfiles = File.join("**", "*.rb")
Dir.glob(rbfiles) #=> ["main.rb",
# "lib/song.rb",
# "lib/song/karaoke.rb"]
Dir.glob(rbfiles, base: "lib") #=> ["song.rb",... -
Dir
. glob(pattern , flags = 0 , base: nil) -> [String] (27.0) -
ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。
...flags File.fnmatch に指定できるフラグと同様のフラグを指定できます。
このフラグを指定することでマッチの挙動を変更することができます。
//emlist[][ruby]{
Dir.glob("*") #=> ["bar", "foo"]
Dir.glob("*", File::FNM_......]
# ベースディレクトリの例
rbfiles = File.join("**", "*.rb")
Dir.glob(rbfiles) #=> ["main.rb",
# "lib/song.rb",
# "lib/song/karaoke.rb"]
Dir.glob(rbfiles, base: "lib") #=> ["song.rb",... -
Dir
. glob(pattern , flags = 0 , base: nil , sort: true) -> [String] (27.0) -
ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。
...flags File.fnmatch に指定できるフラグと同様のフラグを指定できます。
このフラグを指定することでマッチの挙動を変更することができます。
//emlist[][ruby]{
Dir.glob("*") #=> ["bar", "foo"]
Dir.glob("*", File::FNM_......]
# ベースディレクトリの例
rbfiles = File.join("**", "*.rb")
Dir.glob(rbfiles) #=> ["main.rb",
# "lib/song.rb",
# "lib/song/karaoke.rb"]
Dir.glob(rbfiles, base: "lib") #=> ["song.rb",... -
Enumerable
# chunk {|elt| . . . } -> Enumerator (20.0) -
要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。
...s.\n",
# "\n"]
# ...
//}
テキストを空行で区切られた段落に分けたい場合にも nil が使えます。
//emlist[例][ruby]{
File.foreach("README").chunk {|line|
/\A\s*\z/ !~ line || nil
}.each {|_, lines|
pp lines
}
//}
「:_alone」は要素を素通ししたい場合......す。
//emlist[例][ruby]{
pat = /\A[A-Z][A-Za-z0-9_]+\#/
open(filename) {|f|
f.chunk {|line| pat =~ line ? $& : :_alone }.each {|key, lines|
if key != :_alone
print lines.sort.join('')
else
print lines.join('')
end
}
}
//}
@raise RuntimeError 予約されている値... -
Thread
:: ConditionVariable (14.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...= 0
v = @q.shift
@full.signal if count == (@max - 1)
v
}
end
alias send enq
alias recv deq
end
if __FILE__ == $0
q = TinyQueue.new(1)
foods = 'Apple Banana Strawberry Udon Rice Milk'.split
l = []
th = Thread.new {
for obj in food......l.push th
th = Thread.new {
while obj = q.recv
print "recv ", obj, "\n"
end
}
l.push th
l.each do |t|
t.join
end
end
実行すると以下のように出力します。
$ ruby condvar.rb
sent Apple
recv Apple
sent Banana
recv Banana
sen...