Skip to content

CALL


调用子例程的语句

语法

Call procname ([parameter list])

说明

调用 SubFunction

该关键字是早期 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 Sub

end 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 answer

end 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 Sub

end GeSHi

方言差异

  • -lang fb 方言中不允许使用 Call
  • -lang fblite 方言不允许调用尚未声明的函数。

与 QB 的差异

  • 过程必须已经声明。
  • QB 中的 Call 会复制所有参数,因此在被调用的 Sub 内部对参数所做的更改不会反映到调用者的变量中。

另请参阅

  • Declare
  • Sub

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系