我刚开始学习Swift并有一个问题。我在" Swift编程语言"中找到了以下代码块。书:
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
greeting = "Hello, \(name)"
}
然后我想,每当我需要将一个函数映射到盒装值时,我为什么要if let name = optionalName { greeting = "Hello, \(name)" }
?我发现T?
与Haskell的Maybe a
非常相似。
那么fmap f boxedValue
的库函数是什么?或者我认为Swift太功能了?
答案 0 :(得分:4)
你的想法很好!可选定义map()方法,因此您可以执行:
boxedValue.map(f)