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

もくじ †

OnCommunicate?ではダメな理由 †

  • On「Communicate」 は 「コミュニケート」された状況だ。
  • 「変数を受け取る」なら、On「GetValue?」だ。
  • 「複数の変数を受け取る」なら、On「GetValues?

OnRequestValues? & OnGetValues? †

  • 要求と応答の対。OnRequestProperty?OnGetProperty? のような感じ。
  • Referenceで値を受け取りたい。
  • 受け取る値の変数名(型)も知りたい。
  • 複数の値を一回で取得したい/返したい。

機能概要 †

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

以下実装にいたるまでの案 †

案1 †

Reference0: ゴースト名(¥0名)
Reference1: key1=value1&key2=value2&...

却下理由:Referenceのサイズを超過する可能性がある。

案2 ← これで決定 †

Reference0: ゴースト名(¥0名)
Reference1: key=value
Reference2: key=value
Reference3: key=value
Reference...

採用理由:なんだかんだでシンプル。*1

案3 †

Reference0: ゴースト名(¥0名)
Reference1: key1
Reference2: value1
Reference3: key2
Reference4: value2
Reference...: key...
Reference...: value...

却下理由:えーマジ交互!?キモーイ 交互が許されるのはphpのarray_multisort()関数くらいよねー! キャハハハハハハ

選択肢 投票
案1 2  
案2 5  
案3 2  

実装例 †

里々 †

  • OnGetValuesのreferenceの展開
  • OnRequestValuesへの応答
  • 辞書ほぼ直です。パスをきかれるので「ssv」と入力。
  • OnRequestValues?については、ゴーストで個別に応答を拒否したい変数とかがなければコピペでどっか辞書に追加するだけで完成します。
  • リンク切れてたら作者が飽きたとか忘れてるとかですのでお察し下さい。

ツッコミとか指摘とか †

  • 案2に1票。ついでに投票ボタンつけときました。 -- ぽな@ばぐとら 2007-07-28 (土) 20:58:25


*1 あと、SSP 2.00.21[B] 以降だと、referenceの上限がメモリ(環境)の許す範囲?になってるので。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-08-06 (金) 21:16:00 (3149d)