Когда я пытаюсь передать параметр по умолчанию из Math
, например POSITIVE_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 нет констант, я предполагаю, что необходимо передать литерал. Или существует комбинация inline
или final
, которая включила бы этот синтаксис сигнатуры метода?