当前位置: 首页 » 数控技术 » 综合技术 » 正文

Lisp的暂停与while的特殊使用


放大字体  缩小字体 发布日期:2020-04-20
   Lisp一般在交互输入时才会暂停,如果只需要实现屏幕显示暂停,可使用grread函数,grread函数对所有合法的输入设备均会作出反应,有时我们只希望对键盘有反应,可使用while函数进行循环。

*******************
    (princ "nPress ENTER to continue:")
    (while (/= (car (grread)) 2))
*******************

    while用于满足一定条件的循环,其标准语法为:
    (while testexpr [expr...])
    其中expr解释为“在 testexpr 为 nil 之前要求值的一个或多个表达式”,为可选项(在R14之前没有方括号,但仍为可选项)。
    正常我们使用while时,总会有expr项,更多的时候,我们是为了expr项才会使用这种循环语句,所有我们往往有expr项是不可缺少的感觉。这里我们使用while函数的语法是while函数的特例,即没有expr项的情况。
    如果希望对鼠标右键同时反应,可以使用:

*******************
    (princ "nPress ENTER to continue:")
    (while (and (/= (setq a(car (grread))) 2)     ;键盘
                (/= a 11)                         ;鼠标右键(SHORTCUTMENU=0)
                (/= a 25)                         ;鼠标右键(SHORTCUTMENU≠0)
           )
    )
*******************
 
 
[ 免费发文

 

 
推荐图文
推荐数控技术
点击排行
网站首页 | 关于我们 | 升级会员 | 联系客服 | 广告合作 | 广告位图 | 使用协议 | 版权隐私 | 蜀ICP备2021024440号
Powered by DESTOON