是否可以在运行时用swift将闭包解析为字符串?例如:
let y = 5
let myClosure = { (x: Double) -> Double in
return x * 2 + y
}
应该给我一个函数调用。可以这样做吗?顺便说一句,我真正的意思是在运行时,因为
"x * 2 + 5"
可以从命令行中读取。我认为这是不可能的,只是想确认一下^ ^谢谢;)
最佳答案
// Im assuming y is a parameter along with x if not remove it .
// Im returning tuples to access both stringValue and DoubleValue
let myClosure = { (x: Double, y:Double) -> (DoubleValue: Double, StringValue:String) in
return (x * 2 + y,"\(x) * 2 + \(y)")
}
let MyClosureResult = myClosure(2,8)
// to accessString Value
MyClosureResult.StringValue
// to access DoubleValue
MyClosureResult.DoubleValue