2011-04-27 130 views
2

我想使用雅虎財經寶石,但我無法獲得我想要的信息。當我嘗試獲得一個報價時,它會創建一個散列,但不是個別信息(我試圖獲得),它會給出一個字符串將其中的所有信息。有沒有辦法以數字的形式接收一點信息(如%更改)?我對Ruby很新,所以任何幫助都很棒。使用雅虎財經寶石

回答

1
require 'yahoofinance' 
YahooFinance.get_quotes(YahooFinance::StandardQuote, 'yhoo') {|i| 
    puts i.change 
    puts i.changePoints 
    puts i.changePercent 
    puts i.time 
} 

打印對我來說:

 
-0.03 - -0.17% 
-0.03 
-0.17 
10:55am 

r = yahooFinance.get_quotes(YahooFinance::StandardQuote, 'yhoo') 
puts r[r.keys[0]].dayHigh 
puts r["YHOO"].dayHigh 

打印:

 
17.43 
17.43 

YahooFinance.get_quotes回哈希其中引用符號鍵,所有數據每個報價都是一個價值。請參閱YahooFinance::BaseQuote類來猜測爲什麼可以使用像dayHigh()這樣的獲取方來自動分析哈希值中的數據。

0

我與Ruby 1.9.3一起運行Rails 3.2.8,並且遇到了這個寶石的一些問題。

所以我只是直接找到了源代碼,並把它放在我的/ lib文件夾中的那個文件(它只是一個文件,也是簡短的文件)。如果您沒有使用lib文件夾,則必須在config/application.rb中添加如config.autoload_paths += Dir["#{config.root}/lib/**/"]之類的內容,以便從導軌控制檯或rails中的其他位置加載lib文件夾類。

此外,它可能是最簡單的源代碼,你會發現它總是很好的開始閱讀你每天依賴的實際源代碼。