- Rexx 教程
- Rexx - 首页
- Rexx - 概述
- Rexx - 环境
- Rexx - 安装
- Rexx - 插件安装
- Rexx - 基本语法
- Rexx - 数据类型
- Rexx - 变量
- Rexx - 运算符
- Rexx - 数组
- Rexx - 循环
- Rexx - 决策
- Rexx - 数字
- Rexx - 字符串
- Rexx - 函数
- Rexx - 栈
- Rexx - 文件 I/O
- Rexx - 文件函数
- Rexx - 子程序
- Rexx - 内置函数
- Rexx - 系统命令
- Rexx - XML
- Rexx - Regina
- Rexx - 解析
- Rexx - 信号
- Rexx - 调试
- Rexx - 错误处理
- Rexx - 面向对象
- Rexx - 可移植性
- Rexx - 扩展函数
- Rexx - 指令
- Rexx - 实现
- Rexx - Netrexx
- Rexx - Brexx
- Rexx - 数据库
- 手持设备和嵌入式
- Rexx - 性能
- Rexx - 最佳编程实践
- Rexx - 图形用户界面
- Rexx - Reginald
- Rexx - Web 编程
- Rexx 有用资源
- Rexx - 快速指南
- Rexx - 有用资源
- Rexx - 讨论
Rexx - 信号
在 Rexx 中,signal 指令通常用于两种目的,它们是:
一是将控制权转移到程序的另一部分。这通常类似于其他编程语言中使用的 goto 标签。
另一个是转到特定的陷阱标签。
如果在以下任何指令命令中使用 signal 命令,则挂起的控制结构将自动停用。
if ... then ... else ...
do ... end
do i = 1 to n ... end [以及类似的 do 循环]
select when ... then ... ...etc. otherwise ... end
signal 语句的通用语法如下所示:
语法
signal labelName signal [ VALUE ] labelExpression
让我们来看一个如何使用 signal 语句的示例。
示例
/* Main program */ n = 100.45 if \ datatype( n, wholenumber ) then signal msg say 'This is a whole number' return 0 msg : say 'This is an incorrect number'
上面程序的输出将如下所示。
输出
This is an incorrect number.
如果将变量 n 的值更改为如下程序所示的整数:
/* Main program */ n = 100 if \ datatype( n, wholenumber ) then signal msg say ' This is a whole number ' return 0 msg : say ' This is an incorrect number '
您将获得以下输出:
This is a whole number
也可以像以下程序所示那样转移到标签的值:
/* Main program */ n = 1 if \ datatype( n, wholenumber ) then signal msg if n < 1 | n > 3 then signal msg signal value n 3 : say 'This is the number 3' 2 : say ' This is the number 2' 1 : say ' This is the number 1' return n msg : say ' This is an incorrect number ' exit 99
上面程序的输出将如下所示:
This is the number 1
陷阱标签转移激活/停用
如前所述,signal 指令也可用于将控制权转移到陷阱标签。
陷阱标签转移的通用语法如下所示:
语法
signal ON conditionName [ NAME Label ] signal OFF conditionName
其中,
conditionName - 这是应打开或关闭信号的条件。
Label - 程序应转移到的可选标签。
让我们来看一个使用陷阱标签转移的示例。
示例
/* Main program */ signal on error signal on failure signal on syntax signal on novalue beep(1) signal off error signal off failure signal off syntax signal off novalue exit 0 error: failure: syntax: novalue: say 'An error has occured'
在上面的示例中,我们首先打开错误信号。然后,我们添加一个会导致错误的语句。然后,我们使用错误陷阱标签来显示自定义错误消息。
上面程序的输出将如下所示:
An error has occurred.
广告