为什么表达
import Foundation
["a", "b", "c"] == ["c", "b", "a"]
评估为true在 Swift 游乐场?
(当未导入 Foundation 时,该表达式的计算结果为 false。)
乔什的答案很接近,但并不完全正确。按住 Option 键并单击等于运算符。你的文字是Foundation.CharacterSet
s.
public static func == (lhs: CharacterSet, rhs: CharacterSet) -> Bool
对于字面解析,编译器将搜索
- 您正在使用的模块。
- 您的进口。
- Swift 标准库。 (其中有一些特殊的模块范围消歧规则,其中隐式类型的文字是数组,因为这在很大程度上使得使用该语言更容易。)
这是歧义的错误吗?是的。可以解决吗?我对此表示怀疑。我敢打赌它已经坏了,因为如果进行了详尽的搜索,没有人能够获得足够好的性能。但是,求求您,记录错误,找出并报告!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)