質問

私はケースステートメントで時間を確認するものです。実行する方法?

役に立ちましたか?

解決

上部に定義された変数がないバージョンを使用してください...

t = event.time  # arbitrary example.

case
when t <= Time.now
  # Event is in the past.
else
  # Event is in the future.
end

他のヒント

範囲を使用してください:

case time
when (Time.now - 60)..(Time.now) then puts 'within the last minute'
when (Time.now - 3600)..(Time.now) then puts 'within the last hour'
end

範囲はあらゆる種類の値で動作します。使用できます DateSも:

case date
when (Date.today - 1)..(Date.today) then puts 'less than a day ago'
when (Date.today - 30)..(Date.today) then puts 'less than a month ago'
end

更新:Ruby 1.9が時間範囲を破るので、その例はRuby 1.8.7でのみ機能します。ただし、日付の例は両方のバージョンで動作します。 1.9では、このコードを使用して時間を一致させることができます。

case time.to_i
when ((Time.now - 60).to_i)..(Time.now.to_i) then puts 'within the last minute'
when ((Time.now - 3600).to_i)..(Time.now.to_i) then puts 'within the last hour'
end
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top