coldfusion - 您可以通过cfscript在函数中执行可选参数吗?

标签 coldfusion coldfusion-9

我终于可以开始用cfscript编写东西了,所以我从编写一些所需的格式化功能开始。这是一个例子:

    Function FormatBoolean(MyBool, Format) { 

    Switch(Format){
        Case "YES/NO":{
            If (MyBool eq 1)
                Return "YES";
            Else
                Return "NO";
            Break;
        }

        Default:{
            If (MyBool eq 1)
                Return "Yes";
            Else
                Return "";
            Break;
        }
    }
}

我想做的是使Format为可选参数。如果不包括该参数,则该函数当前仍将运行,但找不到格式,并且似乎cfparam尚未转换为cfscript。

我是否只需要检查是否定义了Format并为其赋值?还是有更好的方法来做到这一点?

谢谢

最佳答案

就我个人而言,我更喜欢为此类参数设置默认值。我也重构了一些功能...但是没有经过测试:)

function FormatBoolean(required any MyBool, string Format = "") { 

    switch(arguments.Format) {
        case "YES/NO":
            return YesNoFormat(arguments.MyBool EQ 1);
        default:
            return (arguments.MyBool eq 1) ? "Yes" : "";
    }

}

请注意,(arguments.MyBool EQ 1)可以替换为(arguments.MyBool),因此它涵盖了所有 bool 值。您可能有兴趣提高它的可靠性,类似于(isValid("boolean", arguments.MyBool) AND arguments.MyBool)这样的代码-应该可以检查所有值。

关于coldfusion - 您可以通过cfscript在函数中执行可选参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7798356/

相关文章:

coldfusion - 尝试对 Jira API 进行简单 REST 调用时连接失败

coldfusion - 使用CFHTTP在ColdFusion中下载大文件

ColdFusion 中的 Javascript 变量

coldfusion - 如何处理对非常常见的关键字的搜索

coldfusion - 如何确定全名中是否有空格?

mysql - Notes 数据库到 MySQL(使用 CF?)/或如何获取 NSF 数据结构

coldfusion - CFset 字符串连接(查询结果)

javascript - Coldfusion 9 cflayout 选项卡

Java - GC 正在运行但不回收任何东西