Рубиновые вопросы по определению - PullRequest
0 голосов
/ 18 марта 2019

Я очень новичок в ruby ​​и хотел бы понять немного синтаксиса.Когда я определяю что-то вроде

def attribute
  {
    id:                @object.id,
    password:          @object.password
    non_academic:      !!@object.non_academic
  }.merge(subject)
end

, что делают коды внутри "{}" и как они называются.Кроме того, что означает строка типа id: @object.id,.

1 Ответ

1 голос
/ 18 марта 2019

Это метод с именем attribute (def attribute), который возвращает Hash (фигурные скобки ´ {} ´) с Symbol s в качестве ключей (id:, password:, ...).Значения берутся из атрибутов переменной экземпляра (@object). Затем хеш также объединяется с другим (merge)

.
...