[問題] 想把 > 和 < 在迴圈中動態給定

看板Programming作者 (海獅)時間12年前 (2013/02/09 11:08), 編輯推噓4(4019)
留言23則, 7人參與, 最新討論串1/4 (看更多)
有點不清楚怎麼敘述 就是我有一個判斷是要跑 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

02/09 12:47, , 1F
改用 a>1 與 -a>-1 試試?
02/09 12:47, 1F

02/09 13:03, , 2F
投入lambda的懷抱吧
02/09 13:03, 2F

02/09 13:10, , 3F
另外 a應該是浮點數吧 要不要先用floor()
02/09 13:10, 3F

02/09 13:10, , 4F
化成整數再switch-case?
02/09 13:10, 4F

02/09 13:27, , 5F
喔沒有XD 1~10只是個比喻sorry
02/09 13:27, 5F

02/09 13:27, , 6F
a是整數 後面數字是很多不同的整數
02/09 13:27, 6F

02/09 13:28, , 7F
1樓的方法好像可用
02/09 13:28, 7F

02/09 14:14, , 8F
等等 你的第一個例子根本不合理啊=3=
02/09 14:14, 8F

02/09 14:14, , 9F
第一個else後面的區塊根本進不去...
02/09 14:14, 9F

02/09 15:42, , 10F
漂不漂亮,科科
02/09 15:42, 10F

02/09 15:42, , 11F
「過早的最佳化是罪惡的根源」
02/09 15:42, 11F

02/09 15:43, , 12F
你認為很漂亮,後果就是沒人看得懂
02/09 15:43, 12F

02/09 16:01, , 13F
寫成函式比較漂亮...
02/09 16:01, 13F

02/09 16:01, , 14F
當然不一定要侷限於 "寫出函式"
02/09 16:01, 14F

02/09 16:09, , 15F
也可以表達成 lambda, 雖然不一定是最好
02/09 16:09, 15F

02/09 17:47, , 16F
std::less, std::greater
02/09 17:47, 16F

02/10 12:38, , 17F
sorry 例子舉得不好 只是想問問這類東西
02/10 12:38, 17F

02/10 12:39, , 18F
的寫法 因為感覺就是複製貼上一大塊
02/10 12:39, 18F

02/10 12:39, , 19F
然後把一堆>改成<而已 如果一般來說這就
02/10 12:39, 19F

02/10 12:39, , 20F
是最好的寫法的話 也是可以接受
02/10 12:39, 20F

02/10 12:39, , 21F
我後面的參數也不是1~10 是某個變數
02/10 12:39, 21F

02/11 19:34, , 22F
那種語言?
02/11 19:34, 22F

02/11 20:50, , 23F
我猜是Java?
02/11 20:50, 23F
文章代碼(AID): #1H5RsG7l (Programming)
文章代碼(AID): #1H5RsG7l (Programming)