Ruby 动态生成变量

创建: 2018/03/21

更新: 2018/03/22 把标题ruby首字母大写

 

方法一:

eval将字符串作为代码执行, 故写在里边

eval("@#{view_name.to_s} = #{get_view_history}")
eval("@#{bookmark_name.to_s} = #{get_bookmark_history}")
eval("@#{search_name.to_s} = #{get_search_history}")

 

方法二:

obj.instance_variable_set(name, val), 用在定义的类的实例生成

book = Book.new("Programming Ruby")
book.instance_variable_set(:@title, "Programming Ruby 1.9")

 

 

参考: http://ref.xaio.jp/ruby/classes/object/instance_variable_set

    http://portaltan.hatenablog.com/entry/2015/07/03/161157

posted @ 2018-03-21 07:43  懒虫哥哥  阅读(208)  评论(0编辑  收藏  举报