ゴースト間の変数の受け渡し。~
大根とかいう仕様が何か色々駄目っぽいのをなんとかするかもしれない何か。~

*もくじ [#xc242f9b]
#contents

*OnCommunicateではダメな理由 [#e4e57585]
-On「Communicate」 は 「コミュニケート」された状況だ。
-%%「変数を受け取る」なら、On「GetValue」だ。%%
-「複数の変数を受け取る」なら、On「GetValues」

*OnRequestValues & OnGetValues [#vda5d283]
-要求と応答の対。OnRequestProperty と OnGetProperty のような感じ。
-Referenceで値を受け取りたい。
-受け取る値の変数名(型)も知りたい。
-複数の値を一回で取得したい/返したい。

**機能概要 [#o9351e46]
-ゴーストがローカルに保持している「名前を持つ変数や定義値」を、他のゴーストの要求の応じて返す処理。
-要求(OnRequestValues)と応答(OnGetValues)からなる
-OnRequestValuesは取得対象のゴーストに、取得したい変数や定義の名称を複数指定して投げるためのもの
-OnGetValuesは要求元のゴーストに名称と値を対にした物を返すためのもの

**以下実装にいたるまでの案 [#j30a2cda]

***案1 [#p94217c4]
 Reference0: ゴースト名(¥0名)
 Reference1: key1=value1&key2=value2&...
却下理由:Referenceのサイズを超過する可能性がある。

***案2 ← これで決定 [#na5ab9b1]
 Reference0: ゴースト名(¥0名)
 Reference1: key=value
 Reference2: key=value
 Reference3: key=value
 Reference...
採用理由:なんだかんだでシンプル。((あと、SSP 2.00.21[B] 以降だと、referenceの上限がメモリ(環境)の許す範囲?になってるので。))

***案3 [#l8a067bb]
 Reference0: ゴースト名(¥0名)
 Reference1: key1
 Reference2: value1
 Reference3: key2
 Reference4: value2
 Reference...: key...
 Reference...: value...
却下理由:%%えーマジ交互!?キモーイ 交互が許されるのはphpの[[array_multisort()関数>http://search.net-newbie.com/php/function.array-multisort.html]]くらいよねー! キャハハハハハハ%%

#vote(案1[1],案2[4],案3[1])
#vote(案1[2],案2[5],案3[2])

*実装例 [#ndb37c9f]
**里々 [#x93686cf]
-[[OnGetValuesのreferenceの展開>http://lre.s165.xrea.com/uka/ukanph/satoriViewer.php/ghost/master/dicOnGetValues.txt]]
-[[OnRequestValuesへの応答>http://lre.s165.xrea.com/uka/ukanph/satoriViewer.php/ghost/master/dicOnRequestValues.txt]]
-辞書ほぼ直です。パスをきかれるので「ssv」と入力。
-OnRequestValuesについては、ゴーストで個別に応答を拒否したい変数とかがなければコピペでどっか辞書に追加するだけで完成します。
-リンク切れてたら作者が飽きたとか忘れてるとかですのでお察し下さい。
// **

*ツッコミとか指摘とか [#p2e59a45]
- 案2に1票。ついでに投票ボタンつけときました。 -- [[ぽな@ばぐとら]] &new{2007-07-28 (土) 20:58:25};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS