CALL
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgCall
- 最后更新: 2016-03-12
调用子例程的语句
语法
Call procname ([parameter list])说明
调用 Sub 或 Function。
该关键字是早期 BASIC 方言的遗留物,现已基本废弃。
在 -lang qb 中,它可以用于调用代码中尚未声明的 sub。该函数将被隐式 Declare,所有参数均按 Byref As Any 传递。
注意:在函数声明之前,不对参数进行类型检查,因此程序员需要自行确保参数类型正确。
示例
start GeSHi
vb
'' Compile with -lang qb or -lang fblite
#lang "fblite"
Declare Sub foobar(ByVal x As Integer, ByVal y As Integer)
Call foobar(35, 42)
Sub foobar(ByVal x As Integer, ByVal y As Integer)
Print x; y
End Subend GeSHi
start GeSHi
vb
'' Compile with -lang qb or -lang fblite
#lang "fblite"
Function f ( ) As Integer
f = 42
End Function
Call f ' execute function f, but ignore the answerend GeSHi
start GeSHi
vb
'' Compile with -lang qb
'$lang: "qb"
Call mysub(15, 16) '' call "mysub" before it has been declared, or even mentioned.
Sub mysub(ByRef a As Integer, ByRef b As Integer)
Print a, b
End Subend GeSHi
方言差异
- 在 -lang fb 方言中不允许使用
Call。 - -lang fblite 方言不允许调用尚未声明的函数。
与 QB 的差异
- 过程必须已经声明。
- QB 中的
Call会复制所有参数,因此在被调用的Sub内部对参数所做的更改不会反映到调用者的变量中。
另请参阅
DeclareSub
返回 目录