-5

我有一个类 (X) 的 ruby​​ 实例和一个作为字符串 ["var1", "var2", .. , "varn" ] 的变量列表。我有一个函数可以修改这些值,以便净效果是这样的:

def modify(instance_obj, arrray_of_variables)
  # do something
end

净效应应该是:

X.var1 = modifyVar(X.var1)
X.var2 = modifyVar(X.var2)
..
X.varn = modifyVar(X.varn)

所有变量都假定为字符串。

编辑(更多信息):我要解决的实际问题是,对于我的大约 10 个模型类,我有一些字符串变量作为 JSON 字符串存储在数据库中。所以我有两个函数parse_from_json(应该称为after_find)和serialize_to_json(称为before_save)。由于这将针对相当多的模型类(大约 10 个模型类和总共 30 个左右的变量)完成,所以我想将它移到一个单独的函数中,而不是为每个模型类定义这些函数。

4

1 回答 1

1

你可以试试这个。

def modify(instance_obj, arrray_of_variables)
  arrray_of_variables.each do |variable|
    instance_obj.send("#{variable}=", modifyVar(instance_obj.send(variable)))
  end
end
于 2013-04-09T05:54:58.853 回答