- 论坛徽章:
- 0
|
hbmhalley 童鞋在文章中有过对if流程的介绍,额再举个例子锦上添花一下。
http://bbs.chinaunix.net/thread-3714461-1-1.html
在dc中,对于if 条件的表示可以采用条件式跳转的方法。
例如,要编写一个输入 1 打印 one ,输入 2 打印 two ,输入 3 打印 three
的dc程序。
额可以先把三种打印的结果放置到三个寄存器T,R, Q中。
然后执行条件匹配命令。- dc -e ' ? sI # 将输入读进寄存器I
- [[one] p q ] sT # 执行 if主体 ,如果输入1 执行寄存器T的命令,并退出
- [[two] p q ] sR # 执行 if主体 ,如果输入2 执行寄存器R的命令,并退出
- [[three] p q ]sQ # 执行 if主体 ,如果输入3 执行寄存器Q的命令,并退出
- [lI d1=T d2=R d3=Q] sE lE x #执行 if 条件的判定 ,判断输入情况
- LIs& LTs& LRs& LQs& LEs& # 将垃圾回收到寄存器&
- '
- 2
- two
复制代码 但是由于dc程序中没有完整的提供 “非 与 或” 等逻辑判断操作符,所以在编写较为复杂的判断循环dc程序时需要更多经验性技巧。 |
|