根据Swift Standard Library Reference,使用下标运算符的Swift字典查找返回包含在Optional
中的可能值。我可以通过模式匹配反对验证这一点:为什么我无法在Swift字典查找值中映射`可选?
let d = [ "a": 1, "b": 2]
switch d["a"] {
case .Some(let x): print(x)
case .None: print("Nothing")
}
但是,当我尝试使用Optional
型的map
方法上查找值:
d["a"].map { print($0 * 2) }
我得到一个错误:
24:1: error: '(String, Int)' does not have a member named 'map'
d["a"].map { print($1 * 2) }
^ ~~~
这是怎么回事?
我试过在操场上,没有问题运行它。 – 2015-01-31 20:14:38