条件式
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
条件式とは、文字通り分岐や採用のための「条件」のこと。~
----
#contents
----
~
*条件式のきほん [#m5725433]
>ジャンプ先【タブ】(条件式)
*トーク名【タブ】(条件式)
@単語群名【タブ】(条件式)
主にでてくるのはこれ。他には[[if関数>関数一覧#ifwhen]]と...
この条件式が''真''である時にそれぞれ有効になる。~
逆に''偽''の時には、無効になる。~
トークや単語群で使った時の効果は、[[特殊記号*の採用条件>...
**「真」と「偽」 [#tea23705]
たぶん一般的なプログラミング用語だと「真偽」。~
条件式を実行・展開すると、それは必ず「真」か「偽」になる。~
これは、文字通り、正しいか間違っているかの二種類を指す。~
「YES」か「NO」か、と言い換えてもいい。~
-真
--条件式があてはまる・YES
--1以上の数字(厳密には0以外)
-偽
--条件式があてはまらない・NO
--0(数字のゼロ)
**条件式に使うもの [#hafde11d]
何だっていい。~
上に書いたように、最終的に0以外の数字なら「真」になるの...
[[文字列判定>関数一覧#category_chk]]のような、条件式その...
が、だいたいは以下のものをよく使う。~
:[[比較演算子>演算子一覧]]|計算式にこれを使う。~
200>100
こういうやつね。~
で、比較演算子を使った場合、それが合っていれば「1(真)...
ついでに、数字の計算と、こういう記号による変な計算?のこ...
:変数|その変数の中身が存在しない時は、常に偽。~
変数の中に、さらに計算式を書いたっていい。~
**比較演算子の例 [#y01a697d]
[[演算子一覧]]にある。一例として取りあげると…~
-例~
|BGCOLOR(white):||c
|A==B|AとBが等しければ1|
|~|AとBが等しくなければ0|
|A!=B|AとBが等しくなければ1|
|~|AとBが等しければ0|
|A>B|AがBより大きければ1|
|~|AがBより小さい、またはAとBが等しければ0|
そんなこんなで、演算(計算)していくと、最後には1か0に...
**ジャンプと条件式の動作 [#w271592a]
さて、本題。~
冒頭で書いたように、里々では様々な箇所に条件式を使うこと...
>ジャンプ先【タブ】条件式
とあった場合、条件式の計算結果が真(0以外の数値)であれ...
条件式は最終的に数値であればいいので、極端な例では
*てすと
>ジャンプ先0【タブ】0
>ジャンプ先3【タブ】3
>ジャンプ先5
とすると、「ジャンプ先0」は永遠にスルーされ、必ず「ジャ...
もちろん「ジャンプ先5」はまったく触れられもしない。~
今度は条件式に比較演算子を使ってみる。~
*
>おやつタイム【タブ】(現在時)==15
>夜中のおやつ【タブ】(現在時)==3
*おやつタイム
:三時だ。おやつにしよう。
*夜中のおやつ
:三時だ。おやつにしよう。
:夜中の三時じゃねえか!
[[(現在時)>情報取得変数#i300e762]]は現在の時刻に置き換...
昼間の三時は15。夜中の三時の時は相方が夜中だ!と怒る。~
*TIPS [#ab2f0c6a]
**比較に関する話 [#ge44dc01]
文字列を比較するとき、数字や算術記号が含まれているとエラ...
>イベント【タブ】(変数)==比較文字列
これを下の様に書き換える。
>イベント【タブ】(compare,(変数),比較文字列)
ただし、compare関数では半角と全角の文字を同一とみなす判定...
それらを厳密に同じかどうか判定するには、equal関数を使おう...
**比較演算子 && と || の使い方 [#p52e0532]
一つの式の中に、複数の条件を設定したいときに使う。~
&&は&color(#ff0000){「かつ」};、||は&color(#ff0000){「ま...
論理回路で言うと、ANDとOR。×と+。~
これだけだと何がなんだか分からないと思うので、以下例。~
*0Headなでられ
>なで好反応【タブ】(好感度)>=30&&(累計起動時)...
:……。
*なで好反応
:………ありがと。
上の条件は『(好感度)が30以上&color(#ff0000){かつ};(...
&&の左右両方の条件式が真(0以外)の時にだけ、1。それ...
''全ての条件を満たした場合に1''と考えてもいい。~
続いて||を使ったものが以下。~
*起動
>寒い【タブ】(現在月)==12||(現在月)==1||...
:こんにちは~。
*寒い
:こんにちは~。
寒いね~。
こちらの条件式は、『(現在月)が12&color(#ff0000){また...
||の右左の条件式のどれか一つでも真(0以外)なら、計算...
''条件をどれか一つでも満たした場合に1''と考えてもいい。~
**使用例 [#e25a8177]
&&と||を活用することで、特定の数字の範囲にだけ成立する条...
-5時から8時の間だけ1になる条件式
(現在時)>=5&&(現在時)<=8
-21時から翌3時の間だけ1になる条件式
(現在時)>=21||(現在時)<=3
表にするとこうなる。
|~条件式\時刻|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10|~11|~12|...
|(現在時)>=5&&(現在時)<=8|0|0|0|0|0|1|1|1|1|0|0|0|0...
|(現在時)>=21||(現在時)<=3|1|1|1|1|0|0|0|0|0|0|0|0|...
**比較演算子 && と || の優先度 [#q822e5c6]
詳細は[[比較演算子>演算子一覧]]。~
四則計算で「+-よりも×÷を先に計算する」というルールがあ...
すぱっと言ってしまうと、||は一番最後、&&は最後から二番目...
-例えばこんな風に式が3つあったとする。~
10 + 10 && 20 + 20
10 + 10 && 20 + 20 || 30 + 30
10 + 10 && 20 + 20 || 30 + 30 && 40 + 40
四則計算が先にされるので、↓のようになる。~
だいぶすっきりする。~
20 && 40
20 && 40 || 60
20 && 40 || 60 && 80
次に、&&が先に計算される。~
おいこれ何やっても1じゃねえか!~
1
1 || 60
1 || 1
最後に||を計算しましょうね。~
1
1
1
なんともまあ酷いモデルだけど、感覚はつかめたと思う。~
最優先の半角括弧も用意されているので、これで計算順序を操...
**単語単体を条件式にする [#rb56b50f]
条件式の部分に単語だけ書いても条件式として使える。~
*OnMinuteChange
>見切れ【タブ】(R1)
*見切れ
:画面の外からこんにちは。
:黙ってろ。
:うー。
このとき、(R1)に文字列や0以外の数字が入っている場合「...
(R1)が0か、又は存在しない変数だった場合はジャンプしな...
つまり
*OnMinuteChange
>見切れ【タブ】(R1)!=0
こう記述した時と同じ。~
*OnMinuteChange
>見切れてない【タブ】!(R1)
:画面の外からこんにちは。
:黙ってろ。
:うー。
単語の左に「!」を入れると逆の意味になる。~
(R1)が0か存在しない変数の時、「見切れてない」へジャン...
終了行:
条件式とは、文字通り分岐や採用のための「条件」のこと。~
----
#contents
----
~
*条件式のきほん [#m5725433]
>ジャンプ先【タブ】(条件式)
*トーク名【タブ】(条件式)
@単語群名【タブ】(条件式)
主にでてくるのはこれ。他には[[if関数>関数一覧#ifwhen]]と...
この条件式が''真''である時にそれぞれ有効になる。~
逆に''偽''の時には、無効になる。~
トークや単語群で使った時の効果は、[[特殊記号*の採用条件>...
**「真」と「偽」 [#tea23705]
たぶん一般的なプログラミング用語だと「真偽」。~
条件式を実行・展開すると、それは必ず「真」か「偽」になる。~
これは、文字通り、正しいか間違っているかの二種類を指す。~
「YES」か「NO」か、と言い換えてもいい。~
-真
--条件式があてはまる・YES
--1以上の数字(厳密には0以外)
-偽
--条件式があてはまらない・NO
--0(数字のゼロ)
**条件式に使うもの [#hafde11d]
何だっていい。~
上に書いたように、最終的に0以外の数字なら「真」になるの...
[[文字列判定>関数一覧#category_chk]]のような、条件式その...
が、だいたいは以下のものをよく使う。~
:[[比較演算子>演算子一覧]]|計算式にこれを使う。~
200>100
こういうやつね。~
で、比較演算子を使った場合、それが合っていれば「1(真)...
ついでに、数字の計算と、こういう記号による変な計算?のこ...
:変数|その変数の中身が存在しない時は、常に偽。~
変数の中に、さらに計算式を書いたっていい。~
**比較演算子の例 [#y01a697d]
[[演算子一覧]]にある。一例として取りあげると…~
-例~
|BGCOLOR(white):||c
|A==B|AとBが等しければ1|
|~|AとBが等しくなければ0|
|A!=B|AとBが等しくなければ1|
|~|AとBが等しければ0|
|A>B|AがBより大きければ1|
|~|AがBより小さい、またはAとBが等しければ0|
そんなこんなで、演算(計算)していくと、最後には1か0に...
**ジャンプと条件式の動作 [#w271592a]
さて、本題。~
冒頭で書いたように、里々では様々な箇所に条件式を使うこと...
>ジャンプ先【タブ】条件式
とあった場合、条件式の計算結果が真(0以外の数値)であれ...
条件式は最終的に数値であればいいので、極端な例では
*てすと
>ジャンプ先0【タブ】0
>ジャンプ先3【タブ】3
>ジャンプ先5
とすると、「ジャンプ先0」は永遠にスルーされ、必ず「ジャ...
もちろん「ジャンプ先5」はまったく触れられもしない。~
今度は条件式に比較演算子を使ってみる。~
*
>おやつタイム【タブ】(現在時)==15
>夜中のおやつ【タブ】(現在時)==3
*おやつタイム
:三時だ。おやつにしよう。
*夜中のおやつ
:三時だ。おやつにしよう。
:夜中の三時じゃねえか!
[[(現在時)>情報取得変数#i300e762]]は現在の時刻に置き換...
昼間の三時は15。夜中の三時の時は相方が夜中だ!と怒る。~
*TIPS [#ab2f0c6a]
**比較に関する話 [#ge44dc01]
文字列を比較するとき、数字や算術記号が含まれているとエラ...
>イベント【タブ】(変数)==比較文字列
これを下の様に書き換える。
>イベント【タブ】(compare,(変数),比較文字列)
ただし、compare関数では半角と全角の文字を同一とみなす判定...
それらを厳密に同じかどうか判定するには、equal関数を使おう...
**比較演算子 && と || の使い方 [#p52e0532]
一つの式の中に、複数の条件を設定したいときに使う。~
&&は&color(#ff0000){「かつ」};、||は&color(#ff0000){「ま...
論理回路で言うと、ANDとOR。×と+。~
これだけだと何がなんだか分からないと思うので、以下例。~
*0Headなでられ
>なで好反応【タブ】(好感度)>=30&&(累計起動時)...
:……。
*なで好反応
:………ありがと。
上の条件は『(好感度)が30以上&color(#ff0000){かつ};(...
&&の左右両方の条件式が真(0以外)の時にだけ、1。それ...
''全ての条件を満たした場合に1''と考えてもいい。~
続いて||を使ったものが以下。~
*起動
>寒い【タブ】(現在月)==12||(現在月)==1||...
:こんにちは~。
*寒い
:こんにちは~。
寒いね~。
こちらの条件式は、『(現在月)が12&color(#ff0000){また...
||の右左の条件式のどれか一つでも真(0以外)なら、計算...
''条件をどれか一つでも満たした場合に1''と考えてもいい。~
**使用例 [#e25a8177]
&&と||を活用することで、特定の数字の範囲にだけ成立する条...
-5時から8時の間だけ1になる条件式
(現在時)>=5&&(現在時)<=8
-21時から翌3時の間だけ1になる条件式
(現在時)>=21||(現在時)<=3
表にするとこうなる。
|~条件式\時刻|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10|~11|~12|...
|(現在時)>=5&&(現在時)<=8|0|0|0|0|0|1|1|1|1|0|0|0|0...
|(現在時)>=21||(現在時)<=3|1|1|1|1|0|0|0|0|0|0|0|0|...
**比較演算子 && と || の優先度 [#q822e5c6]
詳細は[[比較演算子>演算子一覧]]。~
四則計算で「+-よりも×÷を先に計算する」というルールがあ...
すぱっと言ってしまうと、||は一番最後、&&は最後から二番目...
-例えばこんな風に式が3つあったとする。~
10 + 10 && 20 + 20
10 + 10 && 20 + 20 || 30 + 30
10 + 10 && 20 + 20 || 30 + 30 && 40 + 40
四則計算が先にされるので、↓のようになる。~
だいぶすっきりする。~
20 && 40
20 && 40 || 60
20 && 40 || 60 && 80
次に、&&が先に計算される。~
おいこれ何やっても1じゃねえか!~
1
1 || 60
1 || 1
最後に||を計算しましょうね。~
1
1
1
なんともまあ酷いモデルだけど、感覚はつかめたと思う。~
最優先の半角括弧も用意されているので、これで計算順序を操...
**単語単体を条件式にする [#rb56b50f]
条件式の部分に単語だけ書いても条件式として使える。~
*OnMinuteChange
>見切れ【タブ】(R1)
*見切れ
:画面の外からこんにちは。
:黙ってろ。
:うー。
このとき、(R1)に文字列や0以外の数字が入っている場合「...
(R1)が0か、又は存在しない変数だった場合はジャンプしな...
つまり
*OnMinuteChange
>見切れ【タブ】(R1)!=0
こう記述した時と同じ。~
*OnMinuteChange
>見切れてない【タブ】!(R1)
:画面の外からこんにちは。
:黙ってろ。
:うー。
単語の左に「!」を入れると逆の意味になる。~
(R1)が0か存在しない変数の時、「見切れてない」へジャン...
ページ名: