作者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
1F:推 SansWord:所以判断的部份只能这样nested case了? 那乾脆用if, elif 04/16 19:30
2F:→ SansWord:应该说case是用在一个expr有多个值的时候,可是 04/16 19:32
3F:→ SansWord:我们现在要判断的值只有2个,所以就弱了点.... 04/16 19:32