Frage

Diese Frage könnte sein, naiv wie ich Coldfusion Programmierung neu bin.

Ich habe eine Aufgabe, für die ich eine Funktion, f1 geschrieben haben, innerhalb einer Komponente. Ich möchte f1 von einer anderen Funktion aufzurufen, f2 in derselben Komponente definiert ist.

f2 in einer cfm Datei aufgerufen wird.

Meine Frage - Ist das der richtige Weg, es zu tun? Kann ich f1 von f2 aufrufen?

Ich kann auch f1 in f2 verschmelzen, aber ich würde f1 als separate Funktion wie halten.

War es hilfreich?

Lösung

Ja, können Sie f1 von f2 in Coldfusion nennen, wenn beide Funktionen Teil derselben Komponente sind. (Sie müssen nicht in der gleichen Komponente sein, aber wenn sie sind, ist die Antwort immer ja.)

 <cffunction name="f2">
    ...
    <cfset result_of_f1 = f1()>
    ...
 </cffunction>

 <cffunction name="f1">
    ...
 </cffunction>

Es gibt viele gute Gründe, eine Funktion von einem anderen zu nennen. Es heißt Funktion Zusammensetzung .

Andere Tipps

In Coldfusion 10 und Railo 4, können Sie zusammengesetzt Funktionen erstellen die Underscore.cfc Bibliothek mit :

_ = 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!"

(Anmerkung: Ich schrieb die Underscore.cfc Bibliothek)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top