根據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