假设我有一个名为
此外,变量
Article
的类,它包含以下内容:class Article
attr_accessor :title, :author
def initialize(title, author)
@title = title
@author= author
end
end
此外,变量
atrib
是一个包含属性名称的String
。我该如何将这个字符串转换为一个变量,以便用作getter?a = Article.new
atrib='title'
puts a.eval(atrib) # <---- I want to do this
扩展
假设我现在有一组文章的Array
,我想按标题排序。 是否有一种使用&
进行压缩版本的方法,例如:
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
a.send(atrib.to_sym)
吗? - engineersmnkyto_sym
实际上并不是必需的,字符串也可以接受,因此您可以调用a.send(atrib)
。 - engineersmnkya.title
.. ? - Arup RakshitActiveRecord
吗? - Stefan