地图功能超过T?

时间:2014-06-03 06:04:05

标签: functional-programming swift

我刚开始学习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太功能了?

1 个答案:

答案 0 :(得分:4)

你的想法很好!可选定义map()方法,因此您可以执行:

boxedValue.map(f)