0

模型样本具有汽车、自行车的属性

x ="bike"

y = Sample.new

我能怎么做?

是吗?它给了我一个错误有什么办法可以做到吗,我知道 x 是一个属性,但我不知道是哪一个。

那么我怎样才能得到 yx 呢?

4

2 回答 2

2

当方法存储为字符串时,您可以使用它send来调用对象上的方法:

x = "bike"

y = Sample.new

y.send(x) # Equivalent to y.bike

以下是等效的,除了您可以send保护方法:

object.method_name
object.send("method_name")
object.send(:method_name)
于 2012-06-20T18:48:09.150 回答
0

您必须使用动态消息传递。试试这个:

y.send :bike

或者,在你的情况下

y.send x
于 2012-06-20T18:48:11.757 回答