作者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