2009-05-18 10:42:39

変数の比較の注意点

テーマ:ColdFusionメモ
ColdFusionの変数は、型宣言をしなくても使えます。ほとんどの場合は便利です。
以下のプログラムはどうでしょう。

01: <cfset a = "abc">
02: <cfset b = "xyz">
03: 
04: <cfif a eq b>
05:     <cfset c = "OK">
06: <cfelse>
07:     <cfset c = "NG">
08: </cfif>

変数cの値は、"NG"です。
以下のプログラムはどうでしょう。

01: <cfset a = "001">
02: <cfset b = "1">
03: 
04: <cfif a eq b>
05:     <cfset c = "OK">
06: <cfelse>
07:     <cfset c = "NG">
08: </cfif>

変数cの値は、"OK"です。ほとんどの人は"NG"になると思います。
ColdFusionのドキュメントの「評価およびタイプ変換の問題」の例ですが、数値に変換してから比較したので"OK"となります。

「文字列を比較する」、ということであれば、以下のようにします。

01: <cfset a = "001">
02: <cfset b = "1">
03: 
04: <cfif Compare(a, b) eq 0>
05:     <cfset c = "OK">
06: <cfelse>
07:     <cfset c = "NG">
08: </cfif>

数値以外を比較する場合は、関数を使って比較するようにしましょう。
AD
いいね!した人  |  コメント(0)  |  リブログ(0)

うたらぼさんの読者になろう

ブログの更新情報が受け取れて、アクセスが簡単になります

コメント

[コメントをする]

コメント投稿

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。