Оператор для вызова подпрограммы
Синтаксис
Call procname ([parameter list])
Описание
Вызывает
Sub или
Function.
Это ключевое слово осталось от предыдущих диалектов BASIC и главным образом
является устаревшим.
В
-lang qb, оператор может
использоваться для вызова
Sub в коде,
перед декларацией. Функция будет неявно
Declare(декларироваться),
с любых параметрами, переданными как
ByRef As Any.
Примечание: пока функция не объявлена, ни одна проверка типа не делается с
параметрами, таким образом это дело программиста - убеждаться, что они имеют
правильный тип.
Пример
'' Компиляция с -lang qb или -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
'' Компиляция с -lang qb или -lang fblite
#lang "fblite"
Function f ( ) As Integer
f = 42
End Function
Call f ' выполнить
функцию f, но игнорировать ответ
'' Компиляция с -lang qb
'$lang: "qb"
Call mysub(15, 16) '' Вызов "mysub" прежде
чем она была объявлена, или даже упомянута.
Sub mysub(ByRef a As Integer, ByRef b As Integer)
Print a, b
End Sub
Различия диалектов
- Использование Call не допускается в диалекте -lang fb.
- -lang fblite диалект не позволяет
вызывать функции, которые ранее не были объявлены.
Отличия от QB
- Процедура уже должна быть объявлена.
- Call в QB сделает копию всех параметров, поэтому изменения,
внесенные к аргументам внутри вызываемого Sub
не будут отражены в переменных в вызывающем коде.
См. также