假设我有一个 class Article
,这样:
class Article
attr_accessor :title, :author
def initialize(title, author)
@title = title
@author= author
end
end
此外,变量atrib
是String
包含属性名称的。我怎么能把这个字符串变成一个变量来用作吸气剂?
a = Article.new
atrib='title'
puts a.eval(atrib) # <---- I want to do this
扩展
假设我现在有一篇Array
文章,我想按标题对它们进行排序。&
有没有办法使用as来做紧凑版本:
col = Article[0..10]
sorted_one = col.sort_by{|a| a.try('title') } #This works
sorted_two = col.sort_by(&:try('title')) #This does not work