gpt4 book ai didi

ios - 无法通过下标赋值 : subscript is get-only

转载 作者:行者123 更新时间:2023-11-28 05:59:48 27 4
gpt4 key购买 nike

我正在使用 Expression创建一个非常先进的计算器,从用户那里获取字符串输入。我正在尝试添加函数来为计算器提供更多功能,但是我无法添加自定义或转换函数。您能否解释一下为什么会出现以下错误。

有效的代码

 public static let mathSymbols: [Symbol: SymbolEvaluator] = {
var symbols: [Symbol: SymbolEvaluator] = [:]
symbols[.function("atan", arity: 1)] = { atan($0[0]) }
symbols[.function("abs", arity: 1)] = { abs($0[0]) }
symbols[.function("log", arity: 1)] = { log2($0[0]) }
return symbols
}()

无效的输入

        symbols[.function("number", arity: 1)] = { Float($0[0]) }
symbols[.function("number", arity: 1)] = { someFunction($0[0]) }

错误

Cannot assign through subscript: subscript is get-only

最佳答案

错误信息具有误导性。 Expression.swift定义

public typealias SymbolEvaluator = (_ args: [Double]) throws -> Double

这意味着闭包必须返回一个Double:

symbols[.function("number", arity: 1)] = { Double($0[0]) }

关于ios - 无法通过下标赋值 : subscript is get-only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50186867/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com