Lindaのtuple spaceを模したThread間通信のクラスです。 Tupleに型はなく、配列で表現します。以下はtupleの例です。
in()に渡すパターンのnilの部分は任意の値とマッチします。 nilでないオブジェクトは === で比較されます。
0.9.1
0.9
new
TupleSpaceの生成。
TupleSpace#out(tuple, ...)
TupleSpaceにtupleを入れます。 引数を複数書くことで、複数のtupleを一度に投入できます。
TupleSpace#put(tuple, ...)
outの別名
TupleSpace#write(tuple, ...)
outの別名
TupleSpace#in(pattern, non_block=false)
TupleSpaceからpatternにマッチしたtupleを取り出します。 patternは取り出したいtupleを示すパターンです。 マッチするtupleが ないときブロックします。 non_block=trueのとき、ブロックせずに ThreadError 例外を発生させます。
TupleSpace#get(pattern, non_block=false)
inの別名
TupleSpace#take(pattern, non_block=false)
inの別名
TupleSpace#rd(pattern, non_block=false)
TupleSpaceからpatternにマッチしたtupleを返します。 TupleSpaceからtupleを取り除かない点を以外は、inと同じです。
TupleSpace#read(pattern, non_block=false)
rdの別名
TupleSpace#mv(dest, pattern, non_block=false)
二つの TupleSpace 間で tuple を移動させます。inと同様にマッチした tupleを、dest の TupleSpace に追加(dest.out(tuple))します。 mv は分散した TupleSpace 間で tuple が紛失するのを防ぎます
TupleSpace#move(dest, pattern, non_block=false)
mvの別名
Copyright (c) 2000 Masatoshi SEKI m_seki@mva.biglobe.ne.jp