如何在Crystal中向数组添加元素?
我试过了:
var = Array(Int32)
var << 42 # error : undefined method '<<'
var += 42 # error : undefined method '+'
var.add(42) # error : undefined method 'add'
我做错了什么? 甚至可以动态地将元素添加到数组中吗?
答案 0 :(得分:8)
问题是你没有初始化课程。 var = Array(Int32)
应该是以下任何一种:
var = Array(Int32).new
# or
var = [] of Int32
然后附加:
var << 42
您目前正在做的是创建对Array
类的引用,然后您可以使用它来执行某些类型检查。例如:
ref = Array(Int32)
arr = [] of Int64
puts typeof(arr) == ref # false