正或负无穷大作为Haxe中的默认参数

问题描述 投票:2回答:1

当我尝试将MathPOSITIVE_INFINITY中的默认参数传递给函数时,Haxe编译器会给出一个错误,默认值应该是常量。

例:

package;

class Test {
    public function new(time:Float = Math.POSITIVE_INFINITY) {
    }
}

上面给出了错误:

参数默认值应该是常量

在ActionScript中,可以实现这些,例如:

public function Test(time:Number = Number.NEGATIVE_INFINITY) { /* ... */ }
public function Test(time:Number = Number.POSITIVE_INFINITY) { /* ... */ }
public function Test(time:Number = Number.MAX_VALUE) { /* ... */ }
public function Test(time:Number = Number.MIN_VALUE) { /* ... */ }

在Haxe,Math.POSITIVE_INFINITY定义为:

/**
    A special Float constant which denotes negative infinity.
**/
static var POSITIVE_INFINITY(default,null) : Float;

由于Haxe没有常数,我认为必须传递一个字面值。或者,是否有一些inlinefinal的组合可以启用此方法签名语法?

parameters constants haxe
1个回答
4
投票

目前这是不可行的。

我建议打开一个功能请求,因为它似乎真的是一个合法的用例。

© www.soinside.com 2019 - 2024. All rights reserved.