[ColdFusion] ユーザー定義関数(UDF)(1/2)

  • このエントリーをはてなブックマークに追加
  • 人気ブログランキング

ユーザー定義関数(UDF)は、その名の通りユーザーが作る関数です。

 

以下は使用例です。

 

●func.cfm

<cffunction name="calc" returnType="numeric">
     <cfargument name="x" type="numeric" default="0">
     <cfargument name="y" type="numeric" default="0">

     <cfreturn arguments.x * 2 + arguments.y * 3>
</cffunction>

 

●test1.cfm

<cfinclude template="func.cfm">

<cfset total = 0>
<cfloop index="i" from="1" to="5">
     <cfset total = total + calc(i, i+1)>
</cfloop>
<cfoutput>
total=#total#
</cfoutput>

 

上記の例では、関数部分をfunc.cfmに書いています。

 

test.cfm内で、cfincludeタグを使い、
func.cfmの内容を展開する形となります。

 

今回はcalc関数は短いので便利さが、わかりづらいですが、
長い処理を何回も繰り返し使う場合は便利です。

 

プログラムのメンテナンスもしやすくなります。

 

また、以下のような関数の使い方もできます。

 

●test2.cfm

<cfinclude template="func.cfm">

<cfset total = 0>
<cfloop index="i" from="1" to="5">
     <cfset total = total + calc(y=i,x= i+1)>
</cfloop>
<cfoutput>
total=#total#
</cfoutput>

 

calc関数の引数名を指定して関数を呼び出す方法です。

 

海外のプログラムなど見ていると、
例えば、xの型をquery,yの型をstring(csvファイルの絶対パス)
ということにして、

xに値がセットされた場合は、そのまま処理、
yに値がセットされた場合は、queryに変換して処理、

という使い方もあるようです。

 

いずれにしても、関数を作って処理を見やすくすると
メンテナンスもしやすくなりますね。

  • このエントリーをはてなブックマークに追加
  • 人気ブログランキング

この記事に関連する記事一覧

最近の投稿
カテゴリー
タグ
アーカイブ
プロフィール