Swift - 字符串到表达式的转换
Swift - conversion of string to expression
我正在开发一个将简单的数学表达式作为字符串传递的应用程序(例如“2+3”)。我需要执行这些表达式以确保它们等于目标。
在 Mathematica / Wolfram 语言中,可以使用简单的命令 ToExpression[] 将字符串转换为表达式。 Swift中有什么等价物吗?如果不是,如何将字符串转换为可行的数学?
使用[NSExpression][1]
,像这样...
let expression = NSExpression(format:"2+3")
if let result = expression.expressionValueWithObject(nil, context: nil) as? NSNumber {
print(result)
} else {
print("error evaluating expression")
}
这里有一个关于使用 NSExpression 的很好的 blog post from NSHipster(包括 Swift 示例)。
我正在开发一个将简单的数学表达式作为字符串传递的应用程序(例如“2+3”)。我需要执行这些表达式以确保它们等于目标。
在 Mathematica / Wolfram 语言中,可以使用简单的命令 ToExpression[] 将字符串转换为表达式。 Swift中有什么等价物吗?如果不是,如何将字符串转换为可行的数学?
使用[NSExpression][1]
,像这样...
let expression = NSExpression(format:"2+3")
if let result = expression.expressionValueWithObject(nil, context: nil) as? NSNumber {
print(result)
} else {
print("error evaluating expression")
}
这里有一个关于使用 NSExpression 的很好的 blog post from NSHipster(包括 Swift 示例)。