2016-11-14 6 views
0

自分のウェブページにBing検索結果を使用したいと思います。Ruby on Railsでループを使ってキーと値を空のハッシュにプッシュする方法

new_bing_results = bing_results[0][:Web] 


result = { } 


result[:title] = new_bing_results[0][:Title] 
result[:description] = new_bing_results[0][:Description] 
result[:url] = new_bing_results[0][:Url] 
result[:display_url] = new_bing_results[0][:DisplayUrl] 

result[:title1] = new_bing_results [1][:Title] 
result[:description1] = new_bing_results [1][:Description] 
result[:url1] = new_bing_results [1][:Url] 
result[:display_url1] = new_bing_results [1][:DisplayUrl] 

result[:title2] = new_bing_results [2][:Title] 
result[:description2] = new_bing_results [2][:Description] 
result[:url2] = new_bing_results [2][:Url] 
result[:display_url2] = new_bing_results [2][:DisplayUrl] 

....私は同じコードを繰り返すことなく、同じことを50回やっているループを作成するにはどうすればよい

  result 

:自分のJSONデータを使用するには、私はこの解決策を見つけました。

私はこれを試してみましたが、エラーだけを取得:問題は、私は私の$ i個を追加するための解決策が見つからないということです

end 

result 
......

new_bing_results = bing_results[0][:Web] 
$i = 0 
$num = 50 
result2 = {} 

while $i < $num do 
    result[:title$i] = new_bing_results[$i][:Title] 

をキー結果[:タイトル]値new_bing_resultsのように[$ i]の[タイトル]

答えて

0

これはトリックを行う必要があります

result = {} 
50.times do |i| 
    result["title#{i}".to_sym] = new_bing_results[i][:Title] 
    result["description#{i}".to_sym] = new_bing_results[i][:Description] 
    result["url#{i}".to_sym] = new_bing_results[i][:Url] 
    result["display_url#{i}".to_sym] = new_bing_results[i][:DisplayUrl] 
end 

50.timesは、049から実行され、繰り返しを避けるために補間を使用できます。

+0

は、高速かつ正確な答えをありがとうございました。それはトリックを行っています:) – Jutta

+0

あなたはあなたのために働いた答えを受け入れることができますあなたが適切だと思う答えをupvote –

0

.to_symメソッドを使用できます。例:

+0

ありがとう、それは解決策でした:) – Jutta

0

文字列補間を使用してからto_symメソッドを使用できます。

result = {} 
50.times do |n| 
    result["title#{n}".to)sym] = new_bing_results[n][:Title] 
end 
関連する問題