如何在Railo中调用动态命名的函数

时间:2014-05-19 06:59:08

标签: railo

假设我有这个结构:

myValue = {
      value = 100,
      formatter = "numberFormat",
      formatMask = "0.0"
};

如何调用myValue.formatter中指定的函数?比如这个:

var valueString = myValue[ "formatter" ]( myValue.value, myValue.formatMask );

动态命名函数的注释往往侧重于组件方法或自定义函数,例如this。但是,它似乎不适用于本机功能。我正在运行Railo 4.2顺便说一句。

有没有办法动态调用本机函数?或者我是否必须回到if / then语句(如果“numberFormat”然后返回numberFormat(val,mask))?

谢谢!

1 个答案:

答案 0 :(得分:2)

numberFormat()是一个内置函数,CFML内置函数不是“第一类”,所以不能这样调用:一个不能引用内置函数,这是必需的这种事情要发挥作用。

您需要在此处修改您的方法,可能使用evaluate()或将numberFormat()包装在您自己的UDF中。