Обращаясь к приведенному ниже коду, можно ли передать переменную row
из class A
в class B#kick
и получить сохраненные данные?
class A
attr_accessor :row
def fetch
B.new.kick(self.row)
puts row.inspect
end
end
class B
def kick(x)
x = [3,4]
end
end
@test = A.new.fetch
expect(@test.row).to eql([3,4])
Текущий O / P => nil
Однако, если я передаю self и назначаю, что работает, но я не хочу использовать этот подход: Рабочий код
class A
attr_accessor :row
def fetch
B.new.kick(self)
puts row.inspect
end
end
class B
def kick(x)
x.row = [3,4]
end
end
@test = A.new.fetch
#=> [3, 4]