* U K I Y A H O N P O *
Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura,
che la diritta via era smarrita.
リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
浮子屋商店もよろしく。

その他雑文/新しいSHIORIに関する妄想メモ のバックアップ差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
* 構造 [#f309c15c]

-辞書=エントリの集合
-エントリ=条件式+出力

-キー内ではJavaScriptで真偽判定の式を書ける
-出力の中にはJavaScriptを混ぜることができる

-エントリを検索してヒットしたエントリを探すロジックがキモ
-エントリ登録順に検索
-条件式がTrueとなったエントリがヒットする
-区切り文字(|)=改行、タブ、スペース


* サンプル(こんな記述がしたい!) [#w1c3d56c]

- ミドルは「イベント名、Ref0、Ref1...」という引数セットでエントリを捜す
- _call(引数配列) でエントリを探して実行、その結果を返す
- 条件式およびエントリ内では _Args[] という変数が有効
- ミドル側で_R[]にリファレンス、_Eにイベント名を入れる
- _がつくのはシステム変数、関数
- 条件式はJavaScriptとして真偽判定
- 出力式内の{}はJavaScriptとして実行、値を出力に混ぜる

#pre{{
*@OnBoot
起動しました。
}}

- 行頭に*のあるものがエントリ。その後改行があり、出力の羅列。次のエントリまでつづく。
- 条件式内の@は _Args[0]=="OnBoot" の省略記法


#pre{{
*@OnMinuteChange && _R[1]==0
{_R[0]}時になりました。
}}


#pre{{

}}



#pre{{
*@RandomTalk
@nooverlap
** ほげほげ
** へもへも
}}

- ** は現在の条件式のまま新しいエントリを登録
- 複数のエントリがヒットした場合はどれか一つをランダムに選択
- エントリの直後の行が@で始まる場合はそのエントリに対するオプション

#pre{{
}}