0

我如何在 swift 2.1 中编写这个?

我正在学习斯坦福的 C193 快速编程课程,我正在使用 swift 2.1。

我想向用户显示计算器上的操作数和操作的历史记录。

它给了我这个错误:

“对成员‘地图’的模糊引用。

func showStack() -> String? {         
     return .joinWithSeparator(opStack.map { "\($0)" })     
}
4

1 回答 1

1

您不能.joinWithSeparator什么都不适用,它必须用于集合(例如数组)。并且opStack.map { "\($0)" }不会成为一个好的分隔符。


Swift 1.2 版本是:

func showStack() -> String? {
    return " ".join(opStack.map{ "\($0)" })
}

Swift 2 版本是:

func showStack() -> String? {
    return opStack.map{ "\($0)" }.joinWithSeparator(" ")
}

您只需提取opStack.map{ "\($0)" }并应用joinWithSeparator它(“joinWithSeparator”方法在新的 Apple Swift 2 文档中进行了说明)。

于 2015-10-19T15:40:52.470 回答