我正在使用传统的Rails项目,发现了一段不理解的代码。
鉴于此
search = Sunspot.search(entities)
...
[search] << AnotherClass.new
显然它们是两种不同的对象类型。使用[] <<
答案 0 :(得分:4)
[...]
是一个数组文字,<<
是Array上的运算符,表示“追加”。它返回一个新数组,并在末尾附加右侧元素。所以:
[search] << AnotherClass.new # => [search, AnotherClass.new]
答案 1 :(得分:3)
<<
运算符将右侧的对象追加到数组中。
[search] << AnotherClass.new
在Rails控制台上试试这个:
a = [1,2]
=> [1, 2]
>> a << 3 # appends 3 to the array
=> [1, 2, 3]
>> [6, 7] << 8 # appends 8 to the newly declared array on the left
=> [6, 7, 8]