Crystal将数组添加到数组中

Mat*_*tte 2 arrays crystal-lang

如何在Crystal中向数组添加元素?

我试过了 :

var = Array(Int32)
var << 42 # error : undefined method '<<'
var += 42 # error : undefined method '+'
var.add(42) # error : undefined method 'add'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?
甚至可以动态地将元素添加到数组中吗?

Sve*_*ven 8

问题是你没有初始化课程.var = Array(Int32)应该是以下任何一种:

var = Array(Int32).new
# or
var = [] of Int32
Run Code Online (Sandbox Code Playgroud)

然后附加到:

var << 42
Run Code Online (Sandbox Code Playgroud)

您当前正在做的是创建对Array类的引用,然后您可以使用它来执行某些类型检查.例如:

ref = Array(Int32)
arr = [] of Int64

puts typeof(arr) == ref # false
Run Code Online (Sandbox Code Playgroud)