Подтвердить что ты не робот

В Ruby, на что ссылается "приемник"?

Я читаю документ, в котором говорится о методе, имеющем приемник. Какой приемник?

4b9b3361

Ответ 1

В Ruby (и других языках, которые берут вдохновение из SmallTalk) объекты считаются отправкой и получением "сообщений".

В Ruby Object, базовый класс всего, имеет метод отправки: Object.send Например:

class Klass
  def hello
    "Hello!"
  end
end
k = Klass.new
k.send :hello   #=> "Hello"
k.hello         #=> "Hello"

В обоих случаях k является получателем сообщения "hello".

Ответ 2

объект перед.

подумайте о вызове метода x.y, который говорит "отправить команду y объекту x".

это маленький способ мышления, он будет хорошо служить вам, когда вы перейдете к некоторым из более сложных функций Ruby.

Ответ 3

В исходной терминологии Smalltalk методы "объектов" вместо этого назывались сообщениями для объектов (т.е. вы не вызывали метод на объекте foo, вы отправили объект foo сообщение). Поэтому foo.blah отправляет сообщение "blah", которое получает объект "foo"; "foo" является получателем "бла".