or download this
Assignment is a little bit special in that it uses its left argument t
+o determine the context for the right argument. Assignment to a scala
+r evaluates the right-hand side in scalar context, while assignment t
+o an array or hash evaluates the righthand side in list context. Assi
+gnment to a list (or slice, which is just a list anyway) also evaluat
+es the righthand side in list context.