touchブロック
veilブロックの逆の機能としてtouchブロックがあります。これはveilと違って値が等しい時に表示をするブロックになります。
例えば、変数の値が英語で入っていた場合に、日本語に変更したり、文字ではなく専用のアイコンで表示するなど、変数を違う見せ方で見せる場合に有効です。
<!-- BEGIN color:touch#red -->赤色<!-- END color:touch#red --> <!-- BEGIN color:touch#blue -->青色<!-- END color:touch#blue --> <!-- BEGIN color:touch#yellow -->黄色<!-- END color:touch#yellow -->
上の例では {color} という変数に "red", "blue", "yellow" が入ってくるとします。 {color} が "red" だった場合には赤色と表示し、blue, yellowも日本語として表示してます。
ただし以下のコードは動きません。
<!-- BEGIN color:touch#red -->赤色({color})<!-- END color:touch#red --> <!-- BEGIN color:touch#blue -->青色({color})<!-- END color:touch#blue --> <!-- BEGIN color:touch#yellow -->黄色({color})<!-- END color:touch#yellow -->
touchブロックの中に変数{color}があるので、veilブロックとして動いてしまいます。 {color}に何が来ても、「赤色、青色、黄色」全てが表示されてしまいます。
touchブロックはveilと逆でブロックの中には変数を使わないようにしましょう。
veil, touchブロックで制御できない場合は、IFブロックをお使いください。パフォーマンス的にも問題ありません。