看板 Programming 關於我們 聯絡資訊
有點不清楚怎麼敘述 就是我有一個判斷是要跑 if(a>1) else if(a>2) ... else if(a>10) 另一個就是反過來 if(a<1) else if(a<2) ... else if(a<10) 因為兩個判斷是裡面做的事情很像 我想寫成一個i=0~1跑兩次的迴圈解決 但要怎樣控制那個判斷式的 > 和 < 記號呢? 是可以另外寫一個function丟參數i進去實作 > 和 < 但為了一個大於小於多開一個function感覺還是不太漂亮 想知道有沒有更精簡的寫法呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.61.45
bill42362:改用 a>1 與 -a>-1 試試? 1.174.232.14 02/09 12:47
coolcomm:投入lambda的懷抱吧 101.10.82.122 02/09 13:03
coolcomm:另外 a應該是浮點數吧 要不要先用floor() 101.10.82.122 02/09 13:10
coolcomm:化成整數再switch-case? 101.10.82.122 02/09 13:10
BBSealion:喔沒有XD 1~10只是個比喻sorry 220.133.61.45 02/09 13:27
BBSealion:a是整數 後面數字是很多不同的整數 220.133.61.45 02/09 13:27
BBSealion:1樓的方法好像可用 220.133.61.45 02/09 13:28
coolcomm:等等 你的第一個例子根本不合理啊=3= 36.239.18.221 02/09 14:14
coolcomm:第一個else後面的區塊根本進不去... 36.239.18.221 02/09 14:14
MOONRAKER:漂不漂亮,科科 36.230.38.158 02/09 15:42
MOONRAKER:「過早的最佳化是罪惡的根源」 36.230.38.158 02/09 15:42
MOONRAKER:你認為很漂亮,後果就是沒人看得懂 36.230.38.158 02/09 15:43
suhorng:寫成函式比較漂亮... 118.166.48.127 02/09 16:01
suhorng:當然不一定要侷限於 "寫出函式" 118.166.48.127 02/09 16:01
suhorng:也可以表達成 lambda, 雖然不一定是最好 118.166.48.127 02/09 16:09
legnaleurc:std::less, std::greater 175.182.26.69 02/09 17:47
BBSealion:sorry 例子舉得不好 只是想問問這類東西 220.133.61.45 02/10 12:38
BBSealion:的寫法 因為感覺就是複製貼上一大塊 220.133.61.45 02/10 12:39
BBSealion:然後把一堆>改成<而已 如果一般來說這就 220.133.61.45 02/10 12:39
BBSealion:是最好的寫法的話 也是可以接受 220.133.61.45 02/10 12:39
BBSealion:我後面的參數也不是1~10 是某個變數 220.133.61.45 02/10 12:39
LaPass:那種語言? 111.252.121.16 02/11 19:34
coolcomm:我猜是Java? 115.80.136.105 02/11 20:50