跳轉至內容

Futurebasic/語言/參考/gosub

來自華夏公益教科書,自由的教學用書
GOSUB {lineNumber|"statementLabel"

執行位於指定行號或語句標籤處的子程式。子程式應包含 RETURN 語句;RETURN 使執行繼續在 GOSUB 語句後的語句處進行。

GOSUB 是一種過時的執行例程的方法;通常,將例程封裝在 LOCAL FN 函式中是一個更好的主意。但是,使用 GOSUB 有一些可能的優勢

  • 使用 GOSUB 呼叫的例程執行速度可能略快於本地函式。
  • 可以在本地函式內建立一個“私有”子程式,並在該本地函式內使用 GOSUB 呼叫該子程式。子程式中使用的變數將具有與本地函式相同的範圍。這可能是執行本地函式內某些重複任務的良好方法。

示例:子程式可以以“巢狀”的方式執行;即,一個子程式可以呼叫另一個子程式。FB 會跟蹤每個 RETURN 語句應該“返回”到哪裡。

PRINT "第一行。" GOSUB "sub1" PRINT "第五行。" END

"sub1" PRINT "第二行。" GOSUB "sub2" PRINT "第四行。" RETURN

"sub2" PRINT "第三行。" RETURN

程式輸出:第一行。第二行。第三行。第四行。第五行。

注意:本地函式內的 GOSUB 語句可以跳轉到該函式外部的子程式;“main”中的 GOSUB 語句也可以跳轉到本地函式內的子程式。但是,這種程式設計方式不建議使用,因為由此產生的變數範圍切換會導致意外結果。

另請參閱

[編輯 | 編輯原始碼]

RETURN FN; LOCAL FN

華夏公益教科書