ruby - 动态设置 Ruby 对象的属性

标签 ruby dynamic

如何在 Ruby 中动态设置对象属性,例如

def set_property(obj, prop_name, prop_value)
    #need to do something like > obj.prop_name = prop_value 

    #we can use eval but I'll prefer a faster/cleaner alternative:
    eval "obj.#{prop_name} = #{prop_value}"
end

最佳答案

使用send :

def set_property(obj, prop_name, prop_value)
    obj.send("#{prop_name}=",prop_value)
end

关于ruby - 动态设置 Ruby 对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7849521/

相关文章:

css - rake assets:precompile > Sass::SyntaxError: Invalid CSS after "padding": expected ";"是 ":20px;"

arrays - 将字符串添加到嵌套在哈希内部的数组中

ruby - 如何找出 gem 的所有依赖项?

c - 释放先前分配的内存后程序中止

ruby - 如何在 Ruby 中动态命名哈希键

c++ - 如何处理类中的动态分配变量?

ruby-on-rails - 单行 has_many_through 创建命令

ruby-on-rails - Heroku 推送错误 : "NameError: uninitialized constant Uglifier::VERSION" on rake assets:precompile

php - 添加动态输入并将数据插入MySQL

r - 绘图、文件中的动态变量名称以及与循环的兼容性