Реализация не обладает дополнительной сложностью, которая необходима для обеспечения общего определения новых операторов.
Вместо этого у Ruby есть парсер Yacc, который использует статически определенную грамматику. Вы получаете встроенных операторов, и все. Символы встречаются в фиксированном наборе предложений в грамматике. Как вы заметили, операторы могут быть перегружены , что больше, чем предлагают большинство языков.
Конечно, это не потому, что Мац был ленив.
Ruby на самом деле имеет дьявольски сложную грамматику, которая примерно находится на пределе того, что может быть достигнуто в Yacc. Чтобы усложниться, потребуется использовать менее переносимый генератор компилятора или потребовалось бы написать синтаксический анализатор вручную на C и сделать , что будет иметь ограниченную переносимость будущей реализации по-своему, а также не предоставлять мир с входом Yacc. Это было бы проблемой, потому что исходный код Ruby Yacc является единственной грамматической документацией Ruby и поэтому является «стандартным».
Я думаю, что ваша проблема в том, что часть вашего массива итоговых полей имеет только значение, а другая - ключ и значение. Попробуйте изменить это:
- 'Descrizione',
+ 'Description' => 'Descrizione',