SUB と FUNCTION の違いは何ですか?また、それらの構文はどのように構成する必要がありますか?
Sub: プロセス;
関数: 戻り値をもたらす関数
構文:
Sub SubName (パラメーター 1、パラメーター 2、...)
....
End Sub
Function FunctionName(パラメータ 1, パラメータ 2,...)
...
FunctionName = 戻り値
End Function
Call メソッド:
Sub は SubName を直接使用しますパラメータ 1 , パラメータ 2,...
関数 値を返したくない場合は、FunctionName を使用します パラメータ 1, パラメータ 2,...
値を返したい場合は、 Result = FunctionName (パラメータ 1, パラメータ 2,...)
構文は次のとおりです、これは正しいです
Sub SubName(パラメータ 1, パラメータ 2,...)
....
End Sub
Function FunctionName(parameter 1, parameter 2 ,...)
...
FunctionName = 戻り値
End Function
呼び出し時:
sub は次の場合のみ使用できます。
SubName パラメータ 1、パラメータ 2、...
関数ルール:
Variable=FunctionName (パラメータ 1、パラメータ 2、...)
FunctionName パラメータ 1、パラメータ 2、...
上記は根本原因の説明ではありません:
SUB FUNCTION と FUNCTION は両方とも戻り値を持つことができます。そこで、最初に戻り方法について説明する必要があります。戻り方法には、プロセスまたは関数の戻りの 2 つのタイプがあります。つまり、プロセスまたは関数と同じ名前の戻り変数のアドレスを割り当てる方法です。 function は割り当てますが、sub は割り当てません。 VB はこの方法を使用して区別しますが、VC は VOID を使用して割り当てなしで宣言します。つまり、p=aa() の場合、aa() が sub の場合は何も取得されず、エラーが報告されます。ただし、関数は数値を取得します。次に、パラメータが返されます。VB のデフォルトでは、パラメータはアドレスによって渡されるため、パラメータを返すことができます。ただし、パラメータが BYVAL として宣言されている場合は返すことができないため、柔軟性に違いはありません。たとえば、関数 bb(a,b) は bb m, n または p=bb(m,n) で呼び出すことができます。実際、SUB は失敗しないことが確認されている場合にのみ使用できます。それ以外の場合は、FUNCTION を使用する必要があります。成功したかどうかを確認するか、戻り値を取得するために使用されます。したがって、プログラミングするときは、SUB の使用を減らし、SubName パラメーター 1、パラメーター 2、... 呼び出しメソッドの使用も減らす必要があります。
sub は値を返す必要のないプロセスであり、function は次のように値を返す必要がある関数です: