Какой метод вызывается [...] в Ruby?
Этот код вызывает Array::[]
с 1
, 2
а также 3
в качестве аргументов:
Array[1, 2, 3] #=> [1, 2, 3]
Но это не похоже на Array::[]
:
[1, 2, 3] #=> [1, 2, 3]
Итак, какой метод вызывается [...]
в рубине?
Мотивация: я пытаюсь заглушить метод в тесте.
1 ответ
Решение
Это буквальный синтаксис для массива. Это не сообщение отправлено. Ruby, как и подавляющее большинство других языков, не допускает перегрузки литералов.
Если вам нужна буквальная перегрузка, вы должны использовать язык, который ее поддерживает, например Ioke.