私は ColdFusion プログラミングに慣れていないので、この質問は素朴かもしれません。
f1コンポーネント内に関数 を記述したタスクがあります。同じコンポーネントf1で定義された別の関数から呼び出したい。f2
f2cfm ファイルで呼び出されています。
私の質問 - これは正しい方法ですか? f1から呼び出すことはできますf2か?
にマージf1することもできますが、別の関数としてf2保持したいと思います。f1
私は ColdFusion プログラミングに慣れていないので、この質問は素朴かもしれません。
f1コンポーネント内に関数 を記述したタスクがあります。同じコンポーネントf1で定義された別の関数から呼び出したい。f2
f2cfm ファイルで呼び出されています。
私の質問 - これは正しい方法ですか? f1から呼び出すことはできますf2か?
にマージf1することもできますが、別の関数としてf2保持したいと思います。f1
はい、両方の関数が同じコンポーネントの一部である場合、ColdFusion で f2 から f1 を呼び出すことができます。(同じコンポーネントである必要はありませんが、同じコンポーネントである場合、答えは常に「はい」です。)
<cffunction name="f2">
...
<cfset result_of_f1 = f1()>
...
</cffunction>
<cffunction name="f1">
...
</cffunction>
ある関数を別の関数から呼び出す正当な理由はたくさんあります。関数合成と呼ばれます。
Coldfusion10およびRailo4では、Underscore.cfcライブラリを使用して合成関数を作成できます。
_ = new Underscore();// instantiate the library
f1 = function (message) {
return "hello " & message;
};
f2 = function (toOutput) {
writeOutput(toOutput);
};
sayHelloTo = _.compose(f2, f1);
sayHelloTo("world!");// output: "hello world!"
(注:Underscore.cfcライブラリを作成しました)