Ich habe mit Arrays ein wenig herumspielen, und fand ich in Schwierigkeiten den folgenden Code zu verstehen:Was ist der Unterschied zwischen << und + =?
first_array = []
second_array = []
third_array = [] # I initialized 3 empty arrays
third_array << [1,2,3,4,5,6,7,8,9] # I loaded 1..9 into third_array[0]
puts third_array.size # => 1
first_array << third_array # 1..9 was loaded into first_array[0]
second_array += third_array # 1..9 was loaded into second_array[0]
puts first_array == third_array # false
puts second_array == third_array # true
puts first_array == second_array # false
puts first_array.size # 1
puts second_array.size # 1
puts third_array.size # 1
Was mit diesem passiert?
second_array += third_array # I have no clue
Warum sind nicht alle Arrays gleich?
Also Ihr Punkt Ist das für second_array ein neues Array erstellt, das ungleich dem dritten Array ist, auch wenn der Inhalt der beiden Arrays identisch ist? – nzs
THAT @codedad ist immer noch nicht beantwortet! hat jemand ein Verständnis dafür? – rubybrah
second_array ist gleich dem dritten_array (aber es hat ein neues Objekt erstellt), das Originalbeispiel zeigt dies. der first_array ist nicht gleich –