зайчика камень для Solr имеет метод, который требует блок с 2-х элементов:Вводят с несколькими параметрами блока
search.each_hit_with_result do |hit,result|
и я использую его, чтобы построить новый хэш результатов, как так:
results = Hash.new
search.each_hit_with_result do |hit,result|
results[result.category.title] = hit.score
end
Это классно и все, но я не могу не думать о том, что есть более «рубиновый» способ сделать это, и я смотрел на потрясающий метод inject
. Я думаю, что что-то вроде следующего должно быть возможным, но я не могу заставить его синтаксически работать. У кого-нибудь есть идеи?
search.each_hit_with_result.inject({})
{|newhash,|hit,result||newhash[result.category.title]=hit.score}
Поиск карты в массив заголовков и оценка 2 массивов элементов, а затем использовать 'Hash [foo]' в этом массиве массивов. Я напишу это как правильный ответ позже сегодня. –
Невредимый, tokland избил меня! –