作者zero00072 (叮釘慈青)
看板Ruby
標題Re: [問題] case比較數字大小
時間Sat Apr 16 10:44:27 2011
※ 引述《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