Проблема с атрибутами метода ИЛИ отправить метод? - PullRequest
0 голосов
/ 02 апреля 2019

Эта строка кода:

@instance.attributes.each{|key, value| @instance.send(key) = nil}

выдает эту ошибку:

syntax error, unexpected '=', expecting '}'

Мне трудно понять, почему это так .. Когда я пишу что-то вроде:

@instance.attributes.each{|key, value| puts @instance.send(key)}

ведет себя как ожидалось, выводя значение каждого атрибута.Почему он работает как получатель, а не как установщик в этом контексте?Есть ли проблема с моим синтаксисом?

Большое спасибо.

1 Ответ

3 голосов
/ 02 апреля 2019
@instance.send(key)

Вызывает метод получения. Чтобы вызвать метод установки, попробуйте:

@instance.attributes.each{|key, value| @instance.send("#{key}=", nil)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...