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

看板Ruby作者 (是妳)時間13年前 (2011/04/16 06:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/6 (看更多)
※ 引述《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
文章代碼(AID): #1DgCTZOs (Ruby)
討論串 (同標題文章)
文章代碼(AID): #1DgCTZOs (Ruby)