SAORI/華和梨
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
里々で[[華和梨>https://kawari.github.io/]]を[[SAORI]]とし...
華和梨は配列変数の処理、里々で例えるなら「単語群に関する...
独自関数に相当するKIS(Kawari Inline Script)を利用して里々...
ファイル編集は[[SAORI/YAYA]]ほど高機能ではありませんが、...
----
#contents
----
*使い方 [#z09a7df1]
華和梨の基本的なシステムについては[[華和梨ユーザーズマニ...
里々でSAORIとして華和梨を使用する場合、通例通りsatori_con...
華和梨本体はshiori.dllというファイル名なので、分かり難い...
-ファイル
||BGCOLOR(white):|c
|shiori.dll|華和梨本体。|
|kawarirc.kis|華和梨の初期辞書。本体と同じフォルダに置く...
SAORIとして使う際も、華和梨の基本ルールであるこの2つのフ...
#br
-エントリ
||BGCOLOR(white):|c
|System.Callback.OnSaoriExecute|saoriとして呼び出された時...
|System.Request.Argument0|引数が格納されている(末尾数値で...
|System.Response.Result|返したい結果及びスクリプトをセッ...
|System.Response.Value0|追加情報をセットするエントリ(末尾...
|System.Response|ステータスコードをセットするエントリ。|
これらが華和梨をSAORIとして使う時のエントリ名になります。~
つまり、呼び出された時には「System.Callback.OnSaoriExecut...
**System.Callback.OnSaoriExecuteの書き方の例 [#b9afdb05]
特に拘りがなければkawarirc.kisに記述します。
System.Callback.OnSaoriExecute : $(
entry ${System.Request.Argument0};
setstr System.Response.Result ${返したい結果及びスクリ...
setstr System.Response ${ステータスコード};
)
この例ではArgument0に指定したエントリ名を直接呼び出します...
ステータスコードは200(正常+戻り値あり)、204(正常+戻り...
#br
**KAWARI as SAORI セット一例 [#v2358e2f]
-kawarirc.kis
=kis
# 全エントリをクリア
listtree @c .;
set @a 0;
loop $(size @c) $(
clear $@c[${@a}];
inc @a;
);
=end
# システムコールバック
System.Callback.OnSaoriExecute : $(
entry kawari.${System.Request.Argument0};
)
# スクリプト例
kawari.元旦からの通算日 : $(
setstr System.Response.Result $(date %J);
setstr System.Response 200;
)
-satori_conf.txt (saoriフォルダに華和梨shiori.dllとkawari...
@SAORI
kawari,saori/shiori.dll
-里々からの呼び出し方
(kawari,元旦からの通算日)
この例ではKawari.(Argument0)から始まるエントリ呼び出して...
*機能系関数 [#fe8e993b]
**dateコマンド [#jfde0860]
dateは引数によって様々なフォーマットで日時情報を返します。~
中でも %s フォーマットでは基準となる時間を得られるため、...
里々単体では[[起動・終了関連の「久しぶりに起動した時トー...
kawari.通算時間 : $(
# 1970/1/1 00:00:00(協定時)からの通算秒数を分(minute)に...
setstr System.Response.Result $[ $(date %s) / 60 ];
setstr System.Response 200;
)
*OnSatoriUnload
$終了時間【タブ】(kawari,通算時間)
*OnBoot
$前回から経過分【タブ】(calc,(kawari,通算時間)-(終...
>一時間以内に起動した【タブ】(前回から経過分)<60
*一時間以内に起動した
:(0)お帰りー。早かったじゃん? 忘れ物?
**textloadコマンド [#c697ad6b]
textloadは文字通りテキストファイルを読み込みます。
kawari.テキストファイル読込 : $(
textload @t ${System.Request.Argument1};
setstr @s $(
foreach @a @t $(
escape ${@a}"\n";
);
);
if $(size @s) $(
setstr System.Response.Result ${@s};
setstr System.Response 200;
) else $(
setstr System.Response 400;
);
)
*hoge.txtの内容を読み上げる
(kawari,テキストファイル読込,hoge.txt)
*hoge.txtの内容を改行しつつ読み上げる
(replace,(kawari,テキストファイル読込,hoge.txt),\\n,\...
読み込んだ内容は改行を\\n(エスケープされた状態)に置換し...
あくまで例であり、このまま使用するとファイルにここで使っ...
*特徴と考察 [#ub32986d]
**エントリ処理 [#na3d19b2]
華和梨では変数(=トーク、単語群)をエントリと呼び、これ...
里々の関数「単語の追加」で例えるならば、華和梨ではこの単...
単語群にある全ての単語を呼び出して一つ一つ処理に充てるコ...
この場合、単語群の編集を華和梨に処理させ、そちらで別途作...
**一時エントリ [#lf960eed]
里々では変数が自動で保存され、これはゴーストのちょっとし...
華和梨にはエントリを跨いで使用できる通常の変数と一時変数...
**saveに関する注意点 [#h79f34b9]
saveは指定したエントリとその内容を華和梨形式辞書として保...
保存するエントリを引数に全て指定するため、手間を省くためx...
セーブ変数 : 車種 , エンジン , タイヤ
セーブ実行 : $(xargs セーブ変数 save セーブデータ.txt)
# 「セーブ実行」の呼び出しにより「車種」「エンジン」「タ...
里々と違いセーブの実行タイミングは自動ではありません。~
セーブが必要な場合は、ゴーストの終了宣言時に必ずセーブ実...
**loadに関する注意点 [#q08bf3f8]
loadは華和梨形式の辞書及びセーブデータを読み込むコマンド...
このため、不意に(例えば多重読込などで)同じ辞書のloadを...
セット例にて
=kis
# 全エントリをクリア
listtree @c .;
set @a 0;
loop $(size @c) $(
clear $@c[${@a}];
inc @a;
);
=end
といった処理を冒頭に置いて、主要なエントリを一度全て削除...
セーブデータを一括管理ではなく任意のタイミングでロードさ...
セーブ変数 : 車種 , エンジン , タイヤ
セーブ実行 : $(xargs セーブ変数 save セーブデータ.txt)
セーブ読込 : $(loadex セーブ変数 セーブデータ.txt)
=kis
function loadex $(
if $[ $(size @arg) != 3 ] $(return "引数の数が正しくあ...
foreach @a $@arg[1] $(
clear ${@a};
);
load $@arg[2];
return "";
);
=end
ここで使われているforeachコマンドはこれ一つで指定したエン...
終了行:
里々で[[華和梨>https://kawari.github.io/]]を[[SAORI]]とし...
華和梨は配列変数の処理、里々で例えるなら「単語群に関する...
独自関数に相当するKIS(Kawari Inline Script)を利用して里々...
ファイル編集は[[SAORI/YAYA]]ほど高機能ではありませんが、...
----
#contents
----
*使い方 [#z09a7df1]
華和梨の基本的なシステムについては[[華和梨ユーザーズマニ...
里々でSAORIとして華和梨を使用する場合、通例通りsatori_con...
華和梨本体はshiori.dllというファイル名なので、分かり難い...
-ファイル
||BGCOLOR(white):|c
|shiori.dll|華和梨本体。|
|kawarirc.kis|華和梨の初期辞書。本体と同じフォルダに置く...
SAORIとして使う際も、華和梨の基本ルールであるこの2つのフ...
#br
-エントリ
||BGCOLOR(white):|c
|System.Callback.OnSaoriExecute|saoriとして呼び出された時...
|System.Request.Argument0|引数が格納されている(末尾数値で...
|System.Response.Result|返したい結果及びスクリプトをセッ...
|System.Response.Value0|追加情報をセットするエントリ(末尾...
|System.Response|ステータスコードをセットするエントリ。|
これらが華和梨をSAORIとして使う時のエントリ名になります。~
つまり、呼び出された時には「System.Callback.OnSaoriExecut...
**System.Callback.OnSaoriExecuteの書き方の例 [#b9afdb05]
特に拘りがなければkawarirc.kisに記述します。
System.Callback.OnSaoriExecute : $(
entry ${System.Request.Argument0};
setstr System.Response.Result ${返したい結果及びスクリ...
setstr System.Response ${ステータスコード};
)
この例ではArgument0に指定したエントリ名を直接呼び出します...
ステータスコードは200(正常+戻り値あり)、204(正常+戻り...
#br
**KAWARI as SAORI セット一例 [#v2358e2f]
-kawarirc.kis
=kis
# 全エントリをクリア
listtree @c .;
set @a 0;
loop $(size @c) $(
clear $@c[${@a}];
inc @a;
);
=end
# システムコールバック
System.Callback.OnSaoriExecute : $(
entry kawari.${System.Request.Argument0};
)
# スクリプト例
kawari.元旦からの通算日 : $(
setstr System.Response.Result $(date %J);
setstr System.Response 200;
)
-satori_conf.txt (saoriフォルダに華和梨shiori.dllとkawari...
@SAORI
kawari,saori/shiori.dll
-里々からの呼び出し方
(kawari,元旦からの通算日)
この例ではKawari.(Argument0)から始まるエントリ呼び出して...
*機能系関数 [#fe8e993b]
**dateコマンド [#jfde0860]
dateは引数によって様々なフォーマットで日時情報を返します。~
中でも %s フォーマットでは基準となる時間を得られるため、...
里々単体では[[起動・終了関連の「久しぶりに起動した時トー...
kawari.通算時間 : $(
# 1970/1/1 00:00:00(協定時)からの通算秒数を分(minute)に...
setstr System.Response.Result $[ $(date %s) / 60 ];
setstr System.Response 200;
)
*OnSatoriUnload
$終了時間【タブ】(kawari,通算時間)
*OnBoot
$前回から経過分【タブ】(calc,(kawari,通算時間)-(終...
>一時間以内に起動した【タブ】(前回から経過分)<60
*一時間以内に起動した
:(0)お帰りー。早かったじゃん? 忘れ物?
**textloadコマンド [#c697ad6b]
textloadは文字通りテキストファイルを読み込みます。
kawari.テキストファイル読込 : $(
textload @t ${System.Request.Argument1};
setstr @s $(
foreach @a @t $(
escape ${@a}"\n";
);
);
if $(size @s) $(
setstr System.Response.Result ${@s};
setstr System.Response 200;
) else $(
setstr System.Response 400;
);
)
*hoge.txtの内容を読み上げる
(kawari,テキストファイル読込,hoge.txt)
*hoge.txtの内容を改行しつつ読み上げる
(replace,(kawari,テキストファイル読込,hoge.txt),\\n,\...
読み込んだ内容は改行を\\n(エスケープされた状態)に置換し...
あくまで例であり、このまま使用するとファイルにここで使っ...
*特徴と考察 [#ub32986d]
**エントリ処理 [#na3d19b2]
華和梨では変数(=トーク、単語群)をエントリと呼び、これ...
里々の関数「単語の追加」で例えるならば、華和梨ではこの単...
単語群にある全ての単語を呼び出して一つ一つ処理に充てるコ...
この場合、単語群の編集を華和梨に処理させ、そちらで別途作...
**一時エントリ [#lf960eed]
里々では変数が自動で保存され、これはゴーストのちょっとし...
華和梨にはエントリを跨いで使用できる通常の変数と一時変数...
**saveに関する注意点 [#h79f34b9]
saveは指定したエントリとその内容を華和梨形式辞書として保...
保存するエントリを引数に全て指定するため、手間を省くためx...
セーブ変数 : 車種 , エンジン , タイヤ
セーブ実行 : $(xargs セーブ変数 save セーブデータ.txt)
# 「セーブ実行」の呼び出しにより「車種」「エンジン」「タ...
里々と違いセーブの実行タイミングは自動ではありません。~
セーブが必要な場合は、ゴーストの終了宣言時に必ずセーブ実...
**loadに関する注意点 [#q08bf3f8]
loadは華和梨形式の辞書及びセーブデータを読み込むコマンド...
このため、不意に(例えば多重読込などで)同じ辞書のloadを...
セット例にて
=kis
# 全エントリをクリア
listtree @c .;
set @a 0;
loop $(size @c) $(
clear $@c[${@a}];
inc @a;
);
=end
といった処理を冒頭に置いて、主要なエントリを一度全て削除...
セーブデータを一括管理ではなく任意のタイミングでロードさ...
セーブ変数 : 車種 , エンジン , タイヤ
セーブ実行 : $(xargs セーブ変数 save セーブデータ.txt)
セーブ読込 : $(loadex セーブ変数 セーブデータ.txt)
=kis
function loadex $(
if $[ $(size @arg) != 3 ] $(return "引数の数が正しくあ...
foreach @a $@arg[1] $(
clear ${@a};
);
load $@arg[2];
return "";
);
=end
ここで使われているforeachコマンドはこれ一つで指定したエン...
ページ名: