Я не понимаю, почему они говорят. Ruby передает все параметры по значению и в то же время следующий код доказывает обратное:
class MyClass1
@var1 = 123
def get1
@var1
end
def set1=value
@var1 = value
end
end
c1 = MyClass1.new
c1.set1 = 444
p c1.get1 # 444
def test1 mc
mc.set1 = 999
end
test1 c1
p c1.get1 # 999
Если бы он был по значению, он распечатывал 444
, а не 999
.