Array with more than one string separated with space produces array with one concatenated string. IMHO, it should raise syntax error. Is this behavior correct?
["1" "2" "3"]
#=> ["123"]
This has nothing to do with array. It is a feature of string literal. If you write string literals in quotes next to each other, it represents the string that is given by the concatenation.
"1" "2" "3" => "123""error in " __FILE__ ":" __LINE__ which is valid in C.