Читая Программируя Ruby , я наткнулся на этот фрагмент кода:
while gets
num1, num2 = split /,/
end
Хотя я интуитивно понимаю, что он делает, я не понимаю синтаксис. «split» - это метод класса String - на языке Ruby, какая строка является получателем сообщения «split» в приведенном выше сценарии?
Я могу видеть в документах, что 'gets' присваивает свой результат переменной $ _, поэтому я предполагаю, что он неявно использует $ _ в качестве получателя - но целая группа поиска в Google не смогла подтвердить это предположение , Если это так, я хотел бы знать, какое общее правило для методов вызывается без явного получателя.
Я попробовал код в irb, добавив некоторые диагностические вызовы, и убедился, что реальное поведение соответствует ожидаемому: num1 и num2 получают назначенные значения, которые были введены через запятую.