レゴキチ/里々でスクリプトを本物のプログラムっぽく見せる方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*見掛け倒し命 [#a84ac696]
実際には大したことはない。
括弧の関係が見やすくなっただけ。
里々の内部関数nop内では改行が無視されることを生かしている...
nop内の値は捨てられてしまう為、結果表示やそのための変数の...
**基本形 [#cfe7a3be]
@関数名
(nop,
【タブ】(if,条件式
【タブ】【タブ】,条件式真の時返す値
【タブ】【タブ】,条件式偽の時返す値
【タブ】)
【タブ】(
【タブ】【タブ】(if,条件式
【タブ】【タブ】【タブ】,if内で実行されたくない括弧の中...
【タブ】【タブ】)
【タブ】)
)(ifで返す値を表示するかしないか)(callの引数つき再帰...
**気をつけること [#caf7139e]
タブの代わりに半角スペースはアウト
ifないのsetは勝手に実行されてしまうので二次引数区切(命名...
最後に変数の削除が行なわれるので(変数「」の存在)を条件...
***if文 [#m1b3973b]
里々では内部の括弧から実行されていくので
(nop,
(if,条件式
,(set,変数,0)
)
)
このとき、条件式が偽でもsetが実行されてしまう。
そのため、
(nop,
(
(if,条件式
,set
,nop
)
,変数,0)
)
こうしてsetの実行を遅らせる必要がある。
また、引数区切りを複数使うことで
(nop,
(
(if,条件式
,set(sprintf,%c,1)変数1(sprintf,%c,1)0
,set(sprintf,%c,1)変数2(sprintf,%c,1)5
)
)
)
としてしまうことも出来る。
***for文 [#tc5aaf68]
*
1+1+1+1は(call,関数1,4)
@関数1
(nop,
(set,結果,
(calc,
(if,(変数「結果」の存在)==1
,(結果)
,0
)+1
)
)
)(if,(結果)==(A0),(結果))((if,(結果)==(...
0+1+1+1+1・・・を繰り返す。
通常とは違うif文と、再帰呼び出しのみのループをどう使いこ...
今思えば(nop)最終行の処理として、(返す値の表示)(ルー...
***サンプル [#g830177e]
「里々でループ処理」で作ったやつの強化改造&見栄え向上版。
※これは実験的に作ったので上記の構文になっていない。~
条件式に(変数「」の存在)を使ってしまったため、$_memory...
(call,格納関数,前半文字列,変数の初期値,後半文字列,変数...
(R*)や(FMO*name)などの連番の引数の参照~
*が最大値に達するか、引数が存在しなくなるまでの引数を区...
ちなみにsplitの(S*)はis_emptyで存在判定できない。
例えば、FMOから起動中のゴースト一覧を得るとき。
*
$引数区切り追加 (B5)
:現在デスクトップ上にいるゴーストは「(call,格納関数,FM...
@格納関数
(nop,
(set,_count,
(
(if,(変数「_count」の存在)==1
,calc(B5)(_count)+(A3)
,calc(B5)(A1)+0
)
)
)
(set,_memory,
(
(A0)
(
(if,(compare,(A0),FMO)==1
,zen2han(B5)(_count)
,han2zen(B5)(_count)
)
)
(A2)
)
)
(set,_result,
(if,(変数「_result」の存在)==1
,(_result)
(if,(変数「_memory」の存在)==1
,(A5)(_memory)
)
,(if,(変数「_memory」の存在)==1
,(_memory)
)
)
)
)(if,(変数「_memory」の存在)==0,(_result),(if,(_...
(set,_memory
,(if,(_count)>=(A4)
,set
,(if,(変数「_memory」の存在)==0
,set
,nop
)
)
)
)((if,(compare,(_memory),nop)==1,call,nop)(B5...
#これでも一行として認識される、即ち「格納関数」の単語数...
#引数区切にバイト値5を使っているのは趣味です(ぇ
@B5
(sprintf,%c,5)
この時下のように喋る。
現在デスクトップ上にいるゴーストは「ポスト、さくら、ふた...
他にも
*installedghostname
$引数区切り追加 (B5)
$インストールされているゴーストの数 (call,格納関数,R,0...
@B5
(sprintf,%c,5)
とかでも使える。
このときは(R99)又は引数がなくなるまでまで読み込んで
$インストールされているゴーストの数=さくら〓ふたば〓(...
みたいになる ハズ。
終了行:
*見掛け倒し命 [#a84ac696]
実際には大したことはない。
括弧の関係が見やすくなっただけ。
里々の内部関数nop内では改行が無視されることを生かしている...
nop内の値は捨てられてしまう為、結果表示やそのための変数の...
**基本形 [#cfe7a3be]
@関数名
(nop,
【タブ】(if,条件式
【タブ】【タブ】,条件式真の時返す値
【タブ】【タブ】,条件式偽の時返す値
【タブ】)
【タブ】(
【タブ】【タブ】(if,条件式
【タブ】【タブ】【タブ】,if内で実行されたくない括弧の中...
【タブ】【タブ】)
【タブ】)
)(ifで返す値を表示するかしないか)(callの引数つき再帰...
**気をつけること [#caf7139e]
タブの代わりに半角スペースはアウト
ifないのsetは勝手に実行されてしまうので二次引数区切(命名...
最後に変数の削除が行なわれるので(変数「」の存在)を条件...
***if文 [#m1b3973b]
里々では内部の括弧から実行されていくので
(nop,
(if,条件式
,(set,変数,0)
)
)
このとき、条件式が偽でもsetが実行されてしまう。
そのため、
(nop,
(
(if,条件式
,set
,nop
)
,変数,0)
)
こうしてsetの実行を遅らせる必要がある。
また、引数区切りを複数使うことで
(nop,
(
(if,条件式
,set(sprintf,%c,1)変数1(sprintf,%c,1)0
,set(sprintf,%c,1)変数2(sprintf,%c,1)5
)
)
)
としてしまうことも出来る。
***for文 [#tc5aaf68]
*
1+1+1+1は(call,関数1,4)
@関数1
(nop,
(set,結果,
(calc,
(if,(変数「結果」の存在)==1
,(結果)
,0
)+1
)
)
)(if,(結果)==(A0),(結果))((if,(結果)==(...
0+1+1+1+1・・・を繰り返す。
通常とは違うif文と、再帰呼び出しのみのループをどう使いこ...
今思えば(nop)最終行の処理として、(返す値の表示)(ルー...
***サンプル [#g830177e]
「里々でループ処理」で作ったやつの強化改造&見栄え向上版。
※これは実験的に作ったので上記の構文になっていない。~
条件式に(変数「」の存在)を使ってしまったため、$_memory...
(call,格納関数,前半文字列,変数の初期値,後半文字列,変数...
(R*)や(FMO*name)などの連番の引数の参照~
*が最大値に達するか、引数が存在しなくなるまでの引数を区...
ちなみにsplitの(S*)はis_emptyで存在判定できない。
例えば、FMOから起動中のゴースト一覧を得るとき。
*
$引数区切り追加 (B5)
:現在デスクトップ上にいるゴーストは「(call,格納関数,FM...
@格納関数
(nop,
(set,_count,
(
(if,(変数「_count」の存在)==1
,calc(B5)(_count)+(A3)
,calc(B5)(A1)+0
)
)
)
(set,_memory,
(
(A0)
(
(if,(compare,(A0),FMO)==1
,zen2han(B5)(_count)
,han2zen(B5)(_count)
)
)
(A2)
)
)
(set,_result,
(if,(変数「_result」の存在)==1
,(_result)
(if,(変数「_memory」の存在)==1
,(A5)(_memory)
)
,(if,(変数「_memory」の存在)==1
,(_memory)
)
)
)
)(if,(変数「_memory」の存在)==0,(_result),(if,(_...
(set,_memory
,(if,(_count)>=(A4)
,set
,(if,(変数「_memory」の存在)==0
,set
,nop
)
)
)
)((if,(compare,(_memory),nop)==1,call,nop)(B5...
#これでも一行として認識される、即ち「格納関数」の単語数...
#引数区切にバイト値5を使っているのは趣味です(ぇ
@B5
(sprintf,%c,5)
この時下のように喋る。
現在デスクトップ上にいるゴーストは「ポスト、さくら、ふた...
他にも
*installedghostname
$引数区切り追加 (B5)
$インストールされているゴーストの数 (call,格納関数,R,0...
@B5
(sprintf,%c,5)
とかでも使える。
このときは(R99)又は引数がなくなるまでまで読み込んで
$インストールされているゴーストの数=さくら〓ふたば〓(...
みたいになる ハズ。
ページ名: