2016-04-11 2 views
1

Что такое различия «под капотом»? Каковы практические различия?В чем разница между методами и сообщениями в Ruby?

Есть ли разница с точки зрения пользователей?

Я знаю, что вы можете использовать def, чтобы определить метод, но не могли бы вы определить сообщение?

+0

Что вы подразумеваете под "define message"? Есть ли разница с перспективой разработчика? № –

+0

@DaveNewton Я не уверен, что я подразумеваю под «define message». –

+1

Итак, практические различия ноль: он концептуальный по своей природе, например, http://stackoverflow.com/q/3562272/438992 –

ответ

2

Когда вы отправляете сообщение объекту, объект (обычно) отвечает, выполняя метод с тем же именем, что и это сообщение.

Вы не можете определить сообщения. Вы просто отправляете их.

+0

Вы говорите «обычно». Что еще может это сделать? Можете ли вы привести пример? –

+0

Как c вы создаете возражение, которое отвечает на сообщения таким образом, что не вызывает связанную функцию? –

+0

Если нет соответствующего метода, вместо него будет отправлено сообщение 'method_missing'. Если метод сглажен, имя метода может отличаться от имени сообщения. –

Смежные вопросы