2016-10-14 8 views
1

は、私はこのようなハッシュを持っている:value = {Fri, 14 Oct 2016=>58.0}戻りハッシュ日付値

58.0ある日付の値を返すためにどのように?

docsではあまり役に立ちません。

value["#{DateTime.now}"]を試しましたが、0を返します。

+1

最初の行は有効なRuby構文ではありません。キーとは何ですか?文字列または日付オブジェクト? – GolfWolf

+0

こんにちは。それはポストのような単純なハッシュでした。キーは日付、数値は値です。 – Sylar

答えて

1

その鍵は、あなたの鍵は、あなたがvalue[date_object]を行う必要がありますDateTimeオブジェクトである場合、日付オブジェクトが

value[Date.new(2016, 10, 14)] 
+0

これは動作しますが、柔軟性はありません。 'Date.new(DateTime.now)'のようなものがありますか? – Sylar

+0

@Sylar use Date.today – user3033467

+0

@Sylarまたは 'DateTime.now.to_date' – GolfWolf

1

を試している場合。あなたのようなあなたのハッシュを作成したのであれば、:

key = DateTime.now 
value = {key=>58.0} 

あなたは好きでそれにアクセスする必要がありますvalue[key]

あなたがそのDateTimeオブジェクトの文字列表現を知っている場合、あなたは常にstrptime method

を使用して DateTimeに変換することができます