Хорошо, я сравнивал некоторые вещи в моем собственном DSL с Ruby. Одна конструкция, которую они оба поддерживают, это
x=["key" => "value"]
Зная разницу между массивами и хешами, я бы подумал, что это незаконно, но результат в Ruby равен
[{"key" => "value"}]
Почему это? И с этим своего рода синтаксисом, почему вы не можете сделать
x=("key" => "value")
Почему массив является особым случаем для неявно созданных хэшей?