2015-10-19 34 views
0

如何在swift 2.1中编写此教程?如何使斯坦福大学的C193功能适应Swift 2.1

我正在通过斯坦福大学的C193 swift编程课,我使用的是swift 2.1。

我想给用户显示一个计算器的操作数和操作的历史。

它给我这个错误:

"Ambiguous reference to member 'map'.

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

回答

1

不能将.joinWithSeparator不了了之,它必须在一个集合(数组为例)使用。而opStack.map { "\($0)" }不会做出好的分隔符。


雨燕1.2的版本是:

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

雨燕2的版本是:

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

你只需要提取opStack.map{ "\($0)" }和应用joinWithSeparator它(以下简称 “joinWithSeparator” 方法在新的Apple Swift 2文档中有解释)。

+1

我的困惑是因为我从1.2版本推断。谢谢埃里克。 – dechairman

相关问题