新命令です

Lindaの仕様にない命令だけど、やはり必要なので「タプルスペース内から条件に合うタプルを全て読む」メソッド、TupleSpace#list(tuple, callback)を実装しました。


仕様を無駄に膨らませるのは簡単なので機能追加には慎重にならないといけないけど、listがあったほうが綺麗に書ける件があったので追加した。


EventMachine版Rubyクライアントでlist取るのはこんな感じ

em-rocketio-linda-client/sample/sample.rb at master · shokai/em-rocketio-linda-client

client.tuplespace["test_spae"].list ["sensor", "light"] do |list|
## 配列で取れる
end

javascript clientからも
tuple_space.list(["sensor", "light"], function(list){
// 配列で取れる
});
同じようにできる。

サーバーのSinatra側でもlistが取れる
sinatra-rocketio-linda/sample/main.rb at b4516add3ccf0b76614e83341bf037d2ee63f80a · shokai/sinatra-rocketio-linda


あと、readやtakeの時にマッチする物がない場合、タプルスペースに現れるまで待つ(コールバックが呼ばれない)んだけど、すぐに結果を返してくれる命令も欲しいなあと思っている。名前が思いつかない。