Skip to content

Return

将控制从当前执行点返回给调用者。Return关键字有两种不同的用法,通过形式和上下文区分:

  • Return——仅作为GoSub的配套使用。在GoSub子例程中,Return分支回到最近执行的GoSub之后紧接着的语句。
  • Return expression——仅在FunctionProperty Get过程内部有效(twinBASIC扩展)。它以expression作为返回值退出过程。

要在返回值的情况下退出SubFunctionProperty GetProperty LetProperty Set过程,请使用Exit SubExit FunctionExit Property——没有裸Return的过程退出形式。

语法:

  • Return

  • Return expression

expression
FunctionProperty Get过程中,返回给调用者的值。expression的类型必须与过程声明的返回类型兼容。此形式中expression必须存在——不能省略。

INFO

Return expression形式是twinBASIC扩展。经典VBA将Return专门保留给GoSub...Return构造,设置函数返回值的唯一方式是赋值给函数名(例如MyFunc = expr)。twinBASIC支持两种风格。

示例

使用Return expressionFunction返回值:

vb
Function Square(N As Double) As Double
    Return N * N
End Function

Debug.Print Square(7)   ' 49

提前退出Sub——注意使用Exit Sub,而非裸Return

vb
Sub LogIfEnabled(ByVal Message As String)
    If Not LoggingEnabled Then Exit Sub
    Debug.Print Now & ": " & Message
End Sub

GoSub子例程返回——此处的裸ReturnGoSub之后的语句处恢复执行。完整模式见GoSub...Return

vb
Sub GosubDemo()
    Dim Num As Double
    Num = 10
    GoSub Halve
    Debug.Print Num     ' 5
    Exit Sub
Halve:
    Num = Num / 2
    Return              ' Return to the GoSub call site.
End Sub

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有