如何优化嵌套循环次数不定的代码
时间:2011-12-14
来源:互联网
当前实现非常的不完美,根据循环次数走不同的条件分支,有什么办法能将这两个分支给统一吗?
Python code
Python code
echo trac_rows=${trac_rows} count=0; # start to dispose the options if [ ${trac_rows} -eq 1 ]; then { LOOP=$((${start[1]})) while [[ $LOOP -le $((${end[1]})) ]]; do { echo LOOP[1]=$LOOP echo count=$count count=$((count+1)) LOOP=`expr ${LOOP} + $((${step[1]}))` } done } elif [ ${trac_rows} -eq 2 ]; then { LOOP[1]=$((${start[1]})) while [[ ${LOOP[1]} -le $((${end[1]})) ]]; do { LOOP[2]=$((${start[2]})) while [[ ${LOOP[2]} -le $((${end[2]})) ]]; do { echo LOOP[2]=$LOOP echo count=$count count=$((count+1)) LOOP[2]=`expr ${LOOP[2]} + $((${step[2]}))` } done LOOP[1]=`expr ${LOOP[1]} + $((${step[1]}))` } done } else { echo "too many nesting options" } fi
作者: zhongyunde 发布时间: 2011-12-14
不习惯写shell,看着有点头大。
if [ ${trac_rows} -eq 1 ]这部分不要,合并到elif [ ${trac_rows} -eq 2 ]里面的代码中,进入的条件也合并在一起,在最内层循环加上条件判断,符合条件做完一次操作后就break,不符合就不会break就是多层循环。
是不是这样呢
if [ ${trac_rows} -eq 1 ]这部分不要,合并到elif [ ${trac_rows} -eq 2 ]里面的代码中,进入的条件也合并在一起,在最内层循环加上条件判断,符合条件做完一次操作后就break,不符合就不会break就是多层循环。
是不是这样呢
作者: askandstudy 发布时间: 2011-12-14
好像也很土,应该是在:
while [[ ${LOOP[2]} -le $((${end[2]})) ]]; do这句前面根据条件来判断,设置循环变量的值以便让最内层循环在${trac_rows}等于1时只循环一次。
while [[ ${LOOP[2]} -le $((${end[2]})) ]]; do这句前面根据条件来判断,设置循环变量的值以便让最内层循环在${trac_rows}等于1时只循环一次。
作者: askandstudy 发布时间: 2011-12-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28