2011-04-27 3 views
2

Yahoo Finance Gem을 사용하려하지만 원하는 정보를 얻을 수 없습니다. 견적을 얻으려고하면 해시가 생성되지만 개인 정보 (내가 얻으려는 정보) 대신 문자열에 모든 정보가 들어갑니다. 하나의 정보 비트 (예 : % 변경)를 숫자로 수신하는 방법이 있습니까? 나는 루비가 새롭기 때문에 어떤 도움도 굉장 할 것입니다. 나를 위해Yahoo Finance Gem 사용

답변

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 반환 인용 기호 키되는 해시, 모든 데이터에 대한 각 따옴표는 값입니다. dayHigh()과 같은 getter를 사용하여 해시 값의 데이터를 자동으로 구문 분석 할 수있는 이유를 알아 보려면 YahooFinance::BaseQuote 클래스를 참조하십시오.

0

저는 Ruby 1.9.3과 함께 Rails 3.2.8을 실행 중이며이 보석에 몇 가지 문제가있었습니다.

그래서 나는 바로 소스 코드로 가서 한 파일 (단 하나의 파일과 짧은 파일)을 가져 와서/lib 폴더에 넣었습니다. lib 폴더를 사용하지 않은 경우, 레일 콘솔 또는 레일의 다른 위치에서 lib 폴더 클래스를로드하려면 config/application.rb에 config.autoload_paths += Dir["#{config.root}/lib/**/"]과 같은 것을 추가해야합니다.

게다가, 아마도 가장 간단한 소스 코드를 발견 할 수 있으며 매일 사용하는 실제 소스를 읽기 시작하는 것이 좋습니다.

관련 문제