【发布时间】:2019-12-03 18:42:00
【问题描述】:
我正在尝试编写一个简单的 .com 文件,让用户可以选择从选择列表中打开文件。当您选择数字时,它会很好地打开文件,但如果您选择了无效的选择,它应该让您返回选择列表。那是行不通的。
我一直在查看 OpenVMS 用户手册,但无法解决这个问题。
$! CHOICE.COM
$! Test file to offer choice to open one of two files
$!
$ ON WARING THEN EXIT
$ HOME:
$ WRITE SYS$OUTPUT “”
$ WRITE SYS$OUTPUT “1 – FILEA”
$ WRITE SYS$OUTPUT “2 – FILEZ”
$ WRITE SYS$OUTPUT “”
$ WRITE SYS$OUTPUT “”
$ INQUIRE P1 “Enter the number of the file to open or type X to exit:”
$ IF P1.EQS.”1”
$ THEN
$ @FILEA.COM
$ ENDIF
$ IF P1.EQS.”2”
$ THEN
$ @FILEZ.COM
$ ENDIF
$ IF P1.EQS.”X”
$ THEN
$ EXIT
$ IF P1.EQS.””
$ THEN
$ WRITE SYS$OUTPUT “Invalid Choice – try again!”
$ WAIT 0:0:5
$ GOTO HOME
$ ENDIF
$ !
我希望用户返回主页的选择无效:
【问题讨论】:
-
ON WARING?我不认为 DCL 支持搅拌机。您唯一的错误选择是""。如果您将代码更改为使用if/then/else来检查输入,那么最终的else将是您无法处理的所有选择。 -
另外,每个
if块都可以在完成时转移控制权,例如$ goto Done带有标签$ Done: exit在文件末尾添加。或者$ goto Home如果合适的话。无论哪种情况,最终的if都会消失。如果你最终放弃了所有好的选择,那么剩下的就是坏的。
标签: openvms