Лучший рубиновый синтаксис - PullRequest
1 голос
/ 03 марта 2012

Я довольно плохо знаком с ruby ​​и его rubyisms, у меня есть код, подобный этому:

def my_method objects
  temp = []

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

  return temp
end

Не могли бы вы помочь мне написать это лучше?Или покажите мне некоторые источники, чтобы узнать этот вид рубинов, плз?Я уже делаю уроки по рубиновым коанам.

Ответы [ 2 ]

7 голосов
/ 03 марта 2012

Вы можете использовать карту :

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

О ресурсах: настоятельно рекомендую прочитать Eloquent Ruby .

Редактировать

Я использовал синтаксис хэша Ruby 1.9.x.

1 голос
/ 03 марта 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...