作者BBSealion (海獅)
看板Programming
標題[問題] 想把 > 和 < 在迴圈中給定
時間Sat Feb 9 11:07:57 2013
有點不清楚怎麼敘述
就是我有一個判斷是要跑
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
1F:推 bill42362:改用 a>1 與 -a>-1 試試? 1.174.232.14 02/09 12:47
2F:推 coolcomm:投入lambda的懷抱吧 101.10.82.122 02/09 13:03
3F:→ coolcomm:另外 a應該是浮點數吧 要不要先用floor() 101.10.82.122 02/09 13:10
4F:→ coolcomm:化成整數再switch-case? 101.10.82.122 02/09 13:10
5F:→ BBSealion:喔沒有XD 1~10只是個比喻sorry 220.133.61.45 02/09 13:27
6F:→ BBSealion:a是整數 後面數字是很多不同的整數 220.133.61.45 02/09 13:27
7F:→ BBSealion:1樓的方法好像可用 220.133.61.45 02/09 13:28
8F:→ coolcomm:等等 你的第一個例子根本不合理啊=3= 36.239.18.221 02/09 14:14
9F:→ coolcomm:第一個else後面的區塊根本進不去... 36.239.18.221 02/09 14:14
10F:→ MOONRAKER:漂不漂亮,科科 36.230.38.158 02/09 15:42
11F:→ MOONRAKER:「過早的最佳化是罪惡的根源」 36.230.38.158 02/09 15:42
12F:→ MOONRAKER:你認為很漂亮,後果就是沒人看得懂 36.230.38.158 02/09 15:43
13F:推 suhorng:寫成函式比較漂亮... 118.166.48.127 02/09 16:01
14F:→ suhorng:當然不一定要侷限於 "寫出函式" 118.166.48.127 02/09 16:01
15F:→ suhorng:也可以表達成 lambda, 雖然不一定是最好 118.166.48.127 02/09 16:09
16F:→ legnaleurc:std::less, std::greater 175.182.26.69 02/09 17:47
17F:→ BBSealion:sorry 例子舉得不好 只是想問問這類東西 220.133.61.45 02/10 12:38
18F:→ BBSealion:的寫法 因為感覺就是複製貼上一大塊 220.133.61.45 02/10 12:39
19F:→ BBSealion:然後把一堆>改成<而已 如果一般來說這就 220.133.61.45 02/10 12:39
20F:→ BBSealion:是最好的寫法的話 也是可以接受 220.133.61.45 02/10 12:39
21F:→ BBSealion:我後面的參數也不是1~10 是某個變數 220.133.61.45 02/10 12:39
22F:推 LaPass:那種語言? 111.252.121.16 02/11 19:34
23F:→ coolcomm:我猜是Java? 115.80.136.105 02/11 20:50