E3015#
参数已经有默认值 None
。
在 MoonBit 中,可选参数有如下两种形式:
有参数的可选值:
fn f(a~ : Int = 0) -> Unit { // ... }
无参数的可选值。在这种情况下,如果参数没有提供,则默认为
None
。fn f(a? : Int) -> Unit { // a 的类型为 Int? // ... }
因此,如果可选参数的默认值为 None
,提供默认值就是多余的,应该删除。
错误示例#
fn f(a? : Int = None) -> Unit { // Error: The parameter a? already has default value `None`.
println(a)
}
建议#
从可选参数中移除 = None
部分
fn f(a? : Int) -> Unit {
println(a)
}