またワードがヒットしてしまいます
想定では、変数が今日の日付に上書きされて、ヒット条件を満たさなくなってワードがヒットしないはずです
自分のベイビーに話しかけている場合、変数の状態が表示されているので、それを見てみます
↑のようなワードを作りました
【年】,【月】,【日】に任意の数値を設定し、A,B,C,Dを初期化するためのワードです
一度このワードをヒットさせて、変数の状態を強制的に変更します
ワードをヒットさせた時のページで、変数の状態を確認すると変数の状態が変化しているはずです
この実験をした日は2022年3月30日だったので、その前日の日付の状態にしています
その後、もう一度「ログインボーナス」と話しかけてみます
すると…
if, else ifを使用した場合
ワードのヒット自体はどれかの条件を満たす場合にヒット
変数は、先頭行からif までの間の set と、
上から条件を確認して行き、
最初に条件を満たしたifまたはelse if から、次のelse ifまたは最終行までの間の set のみ実行される
赤枠の条件を満たした場合は先頭のAと赤線部のBのみ、
赤枠は条件を満たさず、青枠の条件を満たした場合は、
先頭のAと青線部のCのみ…といった感じです
つまり、最初に設定していた変数での set の処理は、最後のelse if のみが条件を満たす時にだけ実行されるという意味になります
初期値が全て0で、条件式としては≠0(0でない場合)となって、全ての条件を満たすことになります
最初の【年】の条件式の時点で条件を満たすので、そこから次のelse ifまでの間にある set しか実行されないわけです
本来なら、条件を満たした行から次のelse ifまでは、全部実行されても良さそうですが、最初のだけが実行されて、その後は条件を満たしていても無視されてしまうんですね