【发布时间】:2019-05-03 09:55:43
【问题描述】:
无法存储包含在 abc 中的数据。 它显示错误
CategoryController的实例变量@ar必须是(Array(Array(Array(Int64 | String) | Array(String))) | Nil),而不是Array(Array(Int64 | String) | Array(String)))
代码示例:
abc = [["", "Select"], [6_i64, "some"]]
puts abc.class # => Array(Array(Int64 | String) | Array(String))
@ar = [] of Array(Array(Int64 | String) | Array(String))
@ar = abc # showing error
【问题讨论】:
-
我很确定错误消息已经在您第一次分配
@ar的位置上,因为文字值与abc具有相同的类型。但是,错误消息清楚地指出实例变量的(预期)类型与您尝试分配的实际类型不匹配。分配的值是数组的项类型,可以添加到数组@ar,但不能分配给持有这种数组类型的变量。
标签: crystal-lang amber-framework