看板 Ruby 關於我們 聯絡資訊
※ 引述《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
SansWord:所以判斷的部份只能這樣nested case了? 那乾脆用if, elif 04/16 19:30
SansWord:應該說case是用在一個expr有多個值的時候,可是 04/16 19:32
SansWord:我們現在要判斷的值只有2個,所以就弱了點.... 04/16 19:32