Как посчитать пример в swift записанный в переменную?

Чтобы посчитать пример, записанный в переменную, вам потребуется использовать оператор "evaluatingJavaScript" в Swift. Для этого вам потребуется импортировать модуль WebKit.

Вот пример кода, который позволяет вычислить пример, записанный в переменной в Swift:

import WebKit

func evaluateExpression(expression: String) -> Double? {
    let webView = WKWebView(frame: .zero)
    
    let script = """
        var result = ""
        try {
            result = eval((expression))
        } catch(e) {
            result = "Invalid expression"
        }
        result
        """
    
    var evaluationResult: Double?
    
    webView.evaluateJavaScript(script) { result, error in
        if let resultString = result as? String, let resultDouble = Double(resultString) {
            evaluationResult = resultDouble
        }
    }
    
    return evaluationResult
}

let expression = "2 + 2 * 3"

if let result = evaluateExpression(expression: expression) {
    print("Результат вычисления примера (expression) равен (result)")
} else {
    print("Неверное выражение")
}

В данном примере мы определяем функцию evaluateExpression, которая принимает строку с выражением в качестве параметра. Затем мы создаем экземпляр объекта WKWebView, используя его для вычисления значения выражения при помощи JavaScript.

JavaScript-код, который будет выполнен, записывается в строку script. Мы используем функцию eval() для выполнения выражения и записываем результат в переменную result. Если возникает исключение, мы записываем строку "Invalid expression" в result.

Затем мы используем метод evaluateJavaScript(_:completionHandler:) для вычисления выражения. Результат преобразуется в String и приводится к типу Double, если это возможно. Возвращаемое значение функции evaluateExpression является опциональным Double.

Наконец, мы вызываем функцию evaluateExpression, передавая ей нашу переменную expression. Если результат вычисления не равен nil, мы выводим сообщение с результатом вычислений. В противном случае, выводим сообщение о неверном выражении.

Надеюсь, это поможет вам вычислять примеры, записанные в переменные в Swift!