Re: [問題] case比較數字大小

看板Ruby作者 (叮釘慈青)時間13年前 (2011/04/16 10:44), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串5/6 (看更多)
※ 引述《SansWord (是妳)》之銘言: : 我想了一下如果要用case寫那怎麼寫比較好 : 後來覺得這樣應該語意沒問題,只是可能會很繁瑣: : case list[i] > 0 : when true : puts "positive" : when false : case list[i] < 0 : when true : puts "negtive" : when false : puts "it's zero" : end : end : 這樣語意就沒問題了,可是看起來很醜。 : 有人想到更好的方法嗎? #!/usr/bin/env ruby ARGV.each do |i| num = i.to_i case num > 0 when true then puts "It's positive." else case num when 0 then puts "It's zero." else puts "It's negative." end end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.162.140

04/16 19:30, , 1F
所以判斷的部份只能這樣nested case了? 那乾脆用if, elif
04/16 19:30, 1F

04/16 19:32, , 2F
應該說case是用在一個expr有多個值的時候,可是
04/16 19:32, 2F

04/16 19:32, , 3F
我們現在要判斷的值只有2個,所以就弱了點....
04/16 19:32, 3F
文章代碼(AID): #1DgGAVDT (Ruby)
文章代碼(AID): #1DgGAVDT (Ruby)