You are assigning a new Array to the key “alpha” in the hash b. The
return value from hash assignment is the object stored in the hash –
i.e. the new Array you created. This object is then assigned to the
key “alpha” in the hash a.
Here a[“alpha”] and b[“alpha”] both contain an array of [23,100].
Why??
It’s this line, right here.
a[“alpha”]=b[“alpha”]=[]
What’s happening is the a[“alpha”] is getting the result of
b[“alpha”]=[], which is the empty array on the far-right of the
assignment. Both a[“alpha”] and b[“alpha”] contain a reference to the
same array.
If I remove the multiple assignment,
a[“alpha”]=[]
b[“alpha”]=[]
a[“alpha”] and b[“alpha”] now are both references to different empty
arrays.