本周最佳文件交换选择

我们最好的用户提交

R2019b的新增功能–函数参数验证

次郎本周的选择是函数参数验证,这是一个新的R2019b功能,我真的很兴奋。

如果你搜索“函数参数验证”“输入验证”在文件交换中,您将在其中看到许多条目。一些是用于执行验证的实际实用程序,而另一些是带有验证函数的常规条目。还有用于解析可选参数的参数解析条目。

输入验证可能是一项乏味的任务,可能需要彻底考虑逻辑以确保代码的健壮性。让我们看一个例子。

假设我想创建一个函数,它接受任意数量的数据集并创建一个重叠的直方图。此外,我希望函数采用可选的参数-值对输入,以自定义绘图的某些属性。输入参数如下所示:

myhistogram(数据1,数据2,…,参数1,值1,参数2,值2,…)

您可以想象这可能是多么棘手的实现。可行,但乏味。我需要先做一些解析,看看传入了多少数据集。我可以通过检查第一个输入来确定它是否不是我正在寻找的参数名。之后,我反复检查参数-值对,并将值分配给适当的参数。同样,这是可行的,但很乏味。

使用新的函数参数验证,解析和验证可以用一种紧凑、易于理解的方式表示。以下是全部代码:

让我们看看它是如何工作的。

data1=randn(2000,1);data2=1+randn(5000,1);data3=3+randn(4000,1);myhistogram(data1,data2,data3)

我可以用一些参数来调用它

myhistogram(数据1、数据2、数据3、,“恩宾斯”,25,“showlegend”,对)

如果我输入了错误的参数,验证函数将捕获错误。

尝试myhistogram(数据1、数据2、数据3、,“恩宾斯”,5.5,“showlegend”,对)接住ME disp(ME.message)终止
无效的名称值参数“nbins”。值必须是整数。

评论

试试看,让我们知道你的想法在这里.




与MATLAB®R2019b一起发布

|
  • 打印
  • 发送电子邮件

评论

如需留言,请点击在这里登录到您的MathWorks帐户或创建新帐户。