今流行りの仮想通貨を自動的に売り買いするプログラムをRubyの練習として書こうと思っています。
ひとまず練習として現在価格の上下を判別するプログラムを書いているのですがエラーが出てしまいます。
require './method' while(1) current_price = get_price puts current_price if current_price > 2000000 puts "現在の価格は200万円を超えています。" elsif current_price < 1900000 puts "現在価格は190万を下回っています" else puts "現在の価格は190万と200万の間です" end sleep(1) end
同じディレクトリ内にあるmethod.rbというファイル内でget_priceというメソッドを書いており、apiを用いてbitcoinの現在価格を取得しており、requireしてこちらのファイルで使用できるようにしております。
特にこちらに関しては問題ないようでこのメソッドをcurrent_priceという変数に格納しputsすると現在価格が取得でき、ここまでは表示されます。
しかしその後のif文内の > 演算子が引っかかっているようでこのファイルを実行するとmacのコンソール画面には
undefined method `>' for nil:NilClass (NoMethodError)
と表示されてしまい、現在価格の価格から200万から上から下かを判別するプログラムが動きません。
nilに対して定義されてない > というメソットが使われているという意味なのでしょうが、正直普通に関係演算子である不等号を使っているだけなのでエラーになる理由が全くわかりません。
エラーの理由としては何が考えられるのでしょうか?よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/05 20:06