

jsonで値を取得して、変数に代入をして、その変数との比較をするときに、初期化されていない定数と出てエラーになります。a == BUY の時、"yes"
と表示させたいです。  
宜しくお願い致します。

[code]

    require "net/http"
    require "uri"
    require "openssl"
    require "json"
    
    key = "kkkkkkkkkkkkk"
    secret = "kkkkkkkkkkkkkkkkkkkk"
    
    timestamp = Time.now.to_i.to_s
    method = "GET"
    uri = URI.parse("kkkkkkkkkkkkkkkkkkkkkk")
    uri.path = "/v1/me/getpositions"
    uri.query = "product_code=kkkkkkkkkkkkkkk"
    
    text = timestamp + method + uri.request_uri
    sign = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha256"), secret, text)
    
    options = Net::HTTP::Get.new(uri.request_uri, initheader = {
                                 "ACCESS-KEY" => key,
                                 "ACCESS-TIMESTAMP" => timestamp,
                                 "ACCESS-SIGN" => sign,
                                 });
    
    https = Net::HTTP.new(uri.host, uri.port)
    https.use_ssl = true
    response = https.request(options)
    
    json = response.body
    getpositions = JSON.parse(json)
    
    
    a = getpositions[0]["side"]
    
    if a == BUY　　　　　　　　　　　　　　　　＃ここでエラーになります
    puts "yes"
    
[/code]

エラーコード

[code]

    a.rb:34:in `<main>': uninitialized constant BUY (NameError)
    
[/code]


CC BY-SA 3.0
2018-03-30T09:18:12.947
42789
2018-03-30T10:02:02.263
2018-03-30T09:30:40.017
19110
27495
question
ruby
変数を比較するところでエラー: uninitialized constant BUY (NameError)


bitFlyer APIの
[getpositions](https://lightning.bitflyer.jp/docs?lang=ja&_ga=2.203656272.1325053266.1522402812-166515414.1515686097#%E5%BB%BA%E7%8E%89%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97)
にリクエストを送って返ってくるJSONは以下の様なフォーマットで、この中で目的の`"BUY"`は「 **文字列** 」です。

[code]

    [
      {
        "product_code": "FX_BTC_JPY",
        "side": "BUY",
        "price": 36000,
        ... ,
      }
    ]
    
[/code]

変数`a`の中身が`BUY`という文字列かを確認するのであれば、以下のような記述にする必要があります。

[code]

    if a == "BUY" then
        puts "yes"
    
[/code]

比較の際にダブルクォートでくくらない記述だと、`BUY`という **定数**
(=変数)とみなして参照しようとしますが、どこにも定義がされていないので実際に実行されたときのように'定数が初期化されていない'というエラーになります。


CC BY-SA 3.0
2018-03-30T10:02:02.263
42792
2018-03-30T10:02:02.263
3060
42789
answer