Re: [問題] case比較數字大小
※ 引述《BM0108 (衝)》之銘言:
: 環境:
: ruby 1.8.7 on windows
: 狀況:
: 各位前輩好,我是今天剛開始學ruby的新手
: 我在練習case功能時遇到一些小trouble
: 我想要從命令列讀入3個數字,然後判斷是正數、負數抑或是0
: ================
: code:
: list = []
: for i in 0..2
: list[i]=ARGV[i].to_i
: case list[i]
: when <0
: puts "positive"
: when >0
: puts "negtive"
: else
: puts "it's zero"
: end
: end
: command line:
: D:\test>ruby array.rb 3 -9 0
: array.rb:7: syntax error, unexpected '<'
: when <0
: ^
: array.rb:9: syntax error, unexpected kWHEN, expecting kEND
: when >0
: ^
: array.rb:11: syntax error, unexpected kELSE, expecting kEND
: array.rb:14: syntax error, unexpected kEND, expecting $end
: ===========================
: 我有試著在when後面加上list[i]
: when list[i]>0
: when list[i]<0
: 這樣不會error,但是不論輸入啥,程式永遠都會跑else("it's zero")
: 請問問題點在哪?
: 謝謝!
我想了一下如果要用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
這樣語意就沒問題了,可是看起來很醜。
有人想到更好的方法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.67.182
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章