Что означает символ запятой в правой части выражения в Ruby - PullRequest
2 голосов
/ 27 марта 2019

Извините за этот основной вопрос, но я не смог найти ответ в Google.Я новичок в Ruby и наткнулся на эту строку кода:

self.primary_keys = :role_id, :action_name

Что я понимаю из этого, что self.primary_keys является переменной класса и ей назначается массив или хэш символов?Что означает правая часть выражения (:role_id, :action_name)?Какой это тип?

Ответы [ 2 ]

5 голосов
/ 27 марта 2019

Это два символа, разделенных запятой, и это неявный массив.

Эквивалент

self.primary_keys = [:role_id, :action_name]

Чаще встречается техника, используемая в левой части задания.

name, age = ["George", 21]

puts name
=> "George"

puts age
=> 21

Функция позволяет менять содержимое переменных без промежуточной переменной.

Например, в некоторых языках для замены a и b вам нужна временная переменная

temporary = a
a = b
b = temporary

В Ruby вы можете сделать

a, b = b, a
0 голосов
/ 27 марта 2019

Это задание

x, y = ["Срини", 25]

ставит x => "Срини"

ставит y => 25

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...