
- 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.
廣告