関数呼び出しの name=value
R2021a 以降
MATLAB® では、名前と値の引数の引き渡しに 2 つの構文を使用できます。
plot(x,y,LineWidth=2)
"name=value 構文"
plot(x,y,"LineWidth",2)
"コンマ区切りの構文"
name=value
構文を使用すると、関数の名前と値の引数を特定したり、名前と値の引数のリストで名前と値を明確に区別したりできます。
ほとんどの関数とメソッドで両方の構文がサポートされますが、name=value
構文を使用できる場合と使い方についてはいくつかの制限があります。
name,value
構文とname=value
構文の混在: どの関数呼び出しでも構文は 1 つだけ使用することをお勧めします。ただし、1 回の呼び出しでname=value
構文とname,value
構文を混在させる場合は、name=value
の引数はname,value
の引数の後になければなりません。たとえば、plot(x,y,"Color","red",LineWidth=2)
は有効な組み合わせですが、plot(x,y,Color="red","LineWidth",2)
はエラーになります。名前と値の引数の後における位置引数の使用: 関数の中には、名前と値の引数の後に位置引数が使用されているものがあります。たとえば、次の
verifyEqual
メソッドの呼び出しでは、名前と値の引数RelTol
の後に string 入力が使用されています。verifyEqual(testCase,1.5,2,"RelTol",0.1,... "Difference exceeds relative tolerance.")
name=value
構文 (RelTol=0.1
) を使用すると、このステートメントはエラーになります。名前と値の引数の後に位置引数が続く場合は、name,value
構文を使用してください。無効な変数名である名前: 無効な MATLAB 変数名である名前をもつ名前と値の引数は、
name=value
構文では使用できません。詳細については、変数名を参照してください。たとえば、"allow-empty",true
のような名前と値の引数は、allow-empty=true
として渡されるとエラーになります。このような場合はname,value
構文を使用してください。
関数の作成者は、name,value
と name=value
の両方の構文をサポートするために異なるコーディングを行う必要はありません。名前と値の引数による引数検証の使用の詳細については、名前と値の引数の検証を参照してください。