Main Content

函数调用中的 name=value

自 R2021a 开始提供

MATLAB® 支持两种传递名称-值参量的语法。

plot(x,y,LineWidth=2) name=value 语法

plot(x,y,"LineWidth",2) 以逗号分隔的语法

使用 name=value 语法可帮助识别函数的名称-值参量,并在名称-值参量列表中将名称与值清楚地区分开来。

大多数函数和方法都支持这两种语法,但对于 name=value 语法的使用位置和方式有一些限制:

  • 混合使用 name,valuename=value 语法:推荐的做法是在任一给定的函数调用中只使用一种语法。但是,如果在一次调用中混合使用 name=valuename,value 语法,则所有 name=value 参量都必须出现在 name,value 参量后。例如,plot(x,y,"Color","red",LineWidth=2) 是有效的组合,但 plot(x,y,Color="red","LineWidth",2) 会出错。

  • 在名称-值参量后使用位置参量:有些函数的位置参量出现在名称-值参量后。例如,以下对 verifyEqual 方法的调用使用 RelTol 名称-值参量,后跟字符串输入:

    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 语法。有关对名称-值参量使用参量验证的信息,请参阅验证名称-值参量