2009-06-08 21:24:58

【Evaluate】複雑な文字列式でも評価可能

テーマ:ColdFusion関数
以下のようなプログラムがあります。

01: <cfset val_test1 = "test1">
02: <cfset val_test2 = "test2">

上記変数をevaluateを使って表示

01: <cfloop index="idx" from="1" to="2">
02:     <cfoutput>#evaluate("val_test#idx#")#<br></cfoutput>
03: </cfloop>

構造体の値をevaluateを使う方法もあります。

01: <cfset st = structNew()>
02: <cfloop index="idx" list="abc,a c">
03:     <cfset st[idx] = idx>
04: </cfloop>
05: 
06: <cfdump var="#st#">
07: 
08: <cfset st2 = structNew()>
09: <cfset tmp = "abc">
10: <cfset st2.a = evaluate("st.#tmp#")>
11: 
12: <cfset tmp = "a c">
13: <cfset st2.b = evaluate("st.#tmp#")>

構造体の場合は、キーの間にスペースがあってもいいのですが、
ドット形式の表現はできません。

よって、下の行はエラーとなります。

間にスペースがあるかないか注意してください。


evaluateのドキュメントはこちらです(cf7)。
AD
いいね!した人  |  コメント(0)  |  リブログ(0)

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

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

コメント

[コメントをする]

コメント投稿

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

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

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

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

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

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