保持函数不被定义两次

Jam*_*ler 0 coldfusion coldfusion-9

我试图在模板中定义一个函数,但有时模板被调用两次.我试过了

<cfscript>
if (not isdefined("tested"))    {

    string function tested(required string component) output="false"    {

        if (arguments.component CONTAINS "internal") return 'N/A';
    ....


 </cfscript>
Run Code Online (Sandbox Code Playgroud)

但我还是得到了

在此输入图像描述

Mar*_*ger 5

我不相信你可以做你想做的事.

当你在代码中定义一个函数时,即使你用IF/ELSE包围它,运行时编译器仍然会解析代码,以便创建运行它所需的Java字节代码.所以你的类/函数在代码组织方面定义了两次.功能或组件背后的整个想法是,你动它外面的你的程序或逻辑代码到它自己的函数库或组-这样很容易重用.很抱歉成为坏消息的承担者:)