更好的ruby语法

时间:2012-03-03 10:34:09

标签: ruby coding-style

我对ruby及其rubyisms相当新,我有一个类似于这个的代码:

def my_method objects
  temp = []

  objects.each do |o|
    temp <<  {
      :text => o.text,
      :title => o.title
    }
  end

  return temp
end
你可以帮助我写得更好吗?或者向我展示一些学习这种红宝石的资料来源?我已经在做红宝石加油课了。

2 个答案:

答案 0 :(得分:7)

您可以使用map

def my_method objects
  objects.map { |e| {text: e.text, title: e.title} }
end

关于资源:我强烈建议您阅读Eloquent Ruby

修改

我使用了Ruby 1.9.x哈希语法。

答案 1 :(得分:1)

objects.collect{|o| {:text=> o.text, :title => o.title} }