Ruby - Parâmetros por referência ou por valor? [duplicado]

Esta pergunta já tem uma resposta aqui:

Ruby é passado por referência ou por valor? 12 respostas

Eu não entendo porque elesdizer Ruby passa todos os parâmetros por valor e, ao mesmo tempo, o código a seguir prova o contrário:

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

Se fosse por valor, seria impresso444, não999.

questionAnswers(1)

yourAnswerToTheQuestion