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ブロックをお使いください。パフォーマンス的にも問題ありません。