28件ヒット
[1-28件を表示]
(0.127秒)
検索結果
先頭3件
-
Thread
# fetch(name , default = nil) {|name| . . . } -> object (18432.0) -
name に関連づけられたスレッドに固有のデータを返します。 name に対応するスレッド固有データがない時には、引数 default が 与えられていればその値を、ブロックが与えられていれば そのブロックを評価した値を返します。
...
name に関連づけられたスレッドに固有のデータを返します。
name に対応するスレッド固有データがない時には、引数 default が
与えられていればその値を、ブロックが与えられていれば
そのブロックを評価した値を返します......param name スレッド固有データのキーを文字列か Symbol で指定します。
@param default name に対応するスレッド固有データがない時の返り値を指定します。
@raise KeyError 引数defaultもブロックも与えられてない時、
name に......と発生します。
//emlist[例][ruby]{
th = Thread.new { Thread.current[:name] = 'A' }
th.join
th.fetch(:name) # => "A"
th.fetch(:fetch, 'B') # => "B"
th.fetch('name') {|name| "Thread" + name} # => "A"
th.fetch('fetch') {|name| "Thread" + name} # => "Threadfetch"
//}
@see Thread#[]... -
PStore
# fetch(name , default = PStore :: Error) -> object (18261.0) -
ルートnameに対応する値を得ます。
...トnameに対応する値を得ます。
該当するルートが登録されていない時には、
引数 default が与えられていればその値を返し、
与えられていなければ例外 PStore::Error が発生します。
@param name 探索するルート。
@param default name......に対応するルートが登録されていない場合に返す値を指定する。
@raise PStore::Error name に対応するルートが登録されていないかつ、
default が与えられていない場合に発生します。
また、トラン......]
ary = db["root"] = [1,2,3,4]
ary[0] = [1,1.5]
end
db.transaction(true) do |pstore|
pstore.fetch("root") # => [[1, 1.5], 2, 3, 4]
pstore.fetch("root", 'aaa') # => [[1, 1.5], 2, 3, 4]
pstore.fetch("not_root") # => 例外発生
end
@see Hash#fetch, PStore#[]... -
Thread
# [](name) -> object | nil (194.0) -
name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。
...
name に対応したスレッドに固有のデータを取り出します。
name に対応するスレッド固有データがなければ nil を返し
ます。
@param name スレッド固有データのキーを文字列か Symbol で指定します。
//emlist[例][ruby]{
[
Thread.new { T......hread.current["name"] = "A" },
Thread.new { Thread.current[:name] = "B" },
Thread.new { Thread.current["name"] = "C" }
].each do |th|
th.join
puts "#{th.inspect}: #{th[:name]}"
end
# => #<Thread:0x00000002a54220 dead>: A
# => #<Thread:0x00000002a541a8 dead>: B
# => #<Thread:0x00000002a5413......注意してください。
//emlist[][ruby]{
def meth(newvalue)
begin
oldvalue = Thread.current[:name]
Thread.current[:name] = newvalue
yield
ensure
Thread.current[:name] = oldvalue
end
end
//}
この関数に与えるブロックがFiberを切り替える場合は動的ス...