传递<或者>运算符作为参数的函数?

时间:2010-01-14 20:33:14

标签: actionscript-3 parameters operators

在我的函数中有一个if()语句,如下所示:

if(passedValue < staticValue)

但是我需要能够传递一个参数来指示if表达式是否像上面那样:或者是:

if(passedValue > staticValue)

但我真的无法通过<>运算符有一个参数,所以我想知道最好的方法是什么?

此外,如果我使用的语言与其ActionScript 3.0相关

谢谢!

4 个答案:

答案 0 :(得分:7)

为什么不通过自定义比较函数,而不是传递一个在AS3中不可能的运算符?

function actualFunction(passedValue:Number, compareFunction:Function) {
    /* ... */

    if(compareFunction(passedValue, staticValue)) {
        /* ... Do something ... */
    }

    /* ... */
}

然后使用它:

actualFunction(6, function(x:Number, y:Number) {
     return x > y;
});

或:

actualFunction(6, function(x:Number, y:Number) {
     return x < y;
});

答案 1 :(得分:1)

为什么不让函数将bool作为参数并在调用函数时直接执行比较?

ExampleFunction(arg1, (passedValue > staticValue))

答案 2 :(得分:0)

我不知道Actionscript,但你不能创建一个名为:

的变量

bool greaterThan = true;

如果是真的,请执行&gt;,如果其为false,则执行&lt; ?

答案 3 :(得分:0)

你是对的,你不能通过运营商。您可以传递一个变量来指示要使用的运算符。

lessThan = true;
func(passedValue, lessThan);