方法期望对象有2个属性,但是我拥有的对象在数组中有它?

时间:2011-06-01 18:48:26

标签: ruby

有一种方法如下:

def some_thing(user)
  x = user.age
  y = user.height
end

我有一个看起来像的对象:

  x = other.info[0]
  y = other.info[1]

我怎样才能将这些信息传递给方法some_thing?

some_thing(other)

不起作用,因为它没有以这种方式暴露属性。

是否可以不修改类和方法参数?

1 个答案:

答案 0 :(得分:2)

创建匿名Struct以创建属性并使用Array splat填充它们:

some_thing(Struct.new(:age, :height).new(*other.info))