2007/07/14

[coldfusion]新人研修-cfparamで変数宣言

ある変数が宣言されていない場合だけ、変数を作ってしまうCFPARAMタグというものが存在します。

どういうことかというと、

<CFSET hoge = "イチゴ">
・・・
<CFPARAM name="hoge" default="オレンジ">
・・・
<CFPARAM name="hoge2" default="バナナ">
・・・
<CFOUTPUT>
#hoge#
<BR>
#hoge2#
</CFOUTPUT>

とあった場合、hogeとhoge2は何が表示されるでしょうか??

答えは、hogeは「イチゴ」、hoge2は、「バナナ」を表示します。

なぜかというと、まずcfsetタグで、hogeに、イチゴがセットされています。
次に、cfparamでhogeを宣言しようとしても、すでに、一つ上の行で、cfsetによって、宣言されてしまっているので、この行はスルーされます。

一方、hoge2にはどこにも、宣言された痕跡がないので、cfparamタグで、バナナが設定されます。

ちなみに、cfparamタグは、

<CFPARAM name="任意の変数名" default=値>

と書き表します。

宣言されていない場合だけ、値をセットしたい、なんて時に役に立ちます。

0 コメント:

コメントを投稿