Main Content

関数呼び出しの 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,valuename=value の両方の構文をサポートするために異なるコーディングを行う必要はありません。名前と値の引数による引数検証の使用の詳細については、名前と値の引数の検証を参照してください。