No

Script-Fu の間違えやすい真偽値


よくある間違い

Script-Fuではユーザーに入力してもらうための☑チェックボックスを SF-TOGGLE で設定でき、チェックされたときは TRUEが変数に代入され、チェックされなかったときは FALSE が代入される。

そこまではなんの問題もない。問題はこのTRUE,FALSEを使って条件判定をするときだ。

schemeが全く読めない人向けに書いとくと rubyの

と同じような意味になる。

当然この処理で “1” が返ってくることを期待してるわけだけど、これだと “0” が返ってくる。

期待通りに動かない理由

これは scheme を知ってる人にとっては当たり前なんだろうけども、scheme で真偽値は #t と #f で表され、それ以外の数値は真として解釈される。だから期待通りの処理をしたければ

としなければならない。

果たしてこれを書いたおかげで次回の作成時に覚えておけるかどうかはわからない。 覚えてると良いなあ。


Leave a Reply