2010-11-09 18 views

cevap

56

Evet, case tablolara aralıkları kullanabilirsiniz include? aynı olacak şekilde tanımlanır:

case cost 
when 1..3 then cost * 1.1 
when 3..5 then cost * 1.2 
+0

bu yüzden işe yarayacak? 0.01..0.99 yani 0.01 ila 0.99? – Blankman

+0

@Blankman: Tabii. – sepp2k

+0

@ Blankman Ranges kullanılabilir; 0.01..0.99 bir aralıktır; Evet, işe yarayacak. Kod yazmalısınız (ve okuyor olmalısınız); Her iki sorunuz da - gerçekten sadece aynı bir varyasyon - yazmaya başladığınızda kendinize cevap verecektir! (Bu teşvik edici değil, aşağılayıcı değil.) –

4

Evet. Google'a bu düşünmek ya da sadece (IMO Ruby güzelliği, hangi: şeyler genellikle düşündüğünüz şekilde çalışır) deneyin vermedi neden bilmiyorum, ama sadece aynı cevap olacak: http://ilikestuffblog.com/2008/04/15/how-to-write-case-switch-statements-in-ruby/

Özellikle

: Range#=== beri

case expression 
when min..max 
    statements 
else 
    statements 
end 
+1

ne yazık ki, cevap Googling zaman ne gelir artık bu. SO'nın başarısı, sanırım. – Jaime

İlgili konular