在我的函数中有一个if()
语句,如下所示:
if(passedValue < staticValue)
但是我需要能够传递一个参数来指示if表达式是否像上面那样:或者是:
if(passedValue > staticValue)
但我真的无法通过<
或>
运算符有一个参数,所以我想知道最好的方法是什么?
此外,如果我使用的语言与其ActionScript 3.0相关
谢谢!
答案 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);