我有一个奇怪的问题(我可以克服但是我希望能够正确理解我的错误)。
我有一个小的随机数生成器函数,我经常使用它:
func ranNum(low: Int, high:Int) -> UInt32 {
var result = arc4random_uniform(UInt32((high+1)-low)) + low
return result
}
当我在XCode游乐场中使用它时,如果我传入类似的内容,它可以正常工作:
ranNum(1, 10)
但是,在常规的Swift文件中,它会生成错误消息:缺少参数标签' hi:'在电话中。现在我可以通过这种方式调用函数来克服这个问题:
ranNum(1, hi:10)
除了它只是稍微难以阅读之外,为什么它在Playgrounds中起作用以及为什么它只需要第二个参数标签而不是两者都是有意义的。对我不理解的任何帮助都将不胜感激。
答案 0 :(得分:5)
这称为external parameter name,默认情况下为:
如果未明确指定,外部名称的名称与本地参数的名称相同。
您可以通过在_
前添加本地参数名称来覆盖它。在你的情况下:
func ranNum(low: Int, _ high:Int) -> UInt32 {
...
}
你提到在操场上调用函数时没有任何外部参数名称 - 我可能会说:
我是对的吗?