Просто установка возвращаемого значения для имени функции все еще не , точно , то же самое, что оператор Java (или другой) return
, потому что в java return
выходит из функции, например так:
public int test(int x) {
if (x == 1) {
return 1; // exits immediately
}
// still here? return 0 as default.
return 0;
}
В VB эквивалент точный занимает две строки , если вы не устанавливаете возвращаемое значение в конце своей функции .Таким образом, в VB точное следствие будет выглядеть так:
Public Function test(ByVal x As Integer) As Integer
If x = 1 Then
test = 1 ' does not exit immediately. You must manually terminate...
Exit Function ' to exit
End If
' Still here? return 0 as default.
test = 0
' no need for an Exit Function because we're about to exit anyway.
End Function
Поскольку это так, также приятно знать, что вы можете использовать возвращаемую переменную, как и любую другую переменную в методе.Например:
Public Function test(ByVal x As Integer) As Integer
test = x ' <-- set the return value
If test <> 1 Then ' Test the currently set return value
test = 0 ' Reset the return value to a *new* value
End If
End Function
Или крайний пример того, как работает возвращаемая переменная (но это не обязательно хороший пример того, как на самом деле вы должны кодировать) -тот, который будет держать тебя ночью:
Public Function test(ByVal x As Integer) As Integer
test = x ' <-- set the return value
If test > 0 Then
' RECURSIVE CALL...WITH THE RETURN VALUE AS AN ARGUMENT,
' AND THE RESULT RESETTING THE RETURN VALUE.
test = test(test - 1)
End If
End Function