首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何优雅地忽略MATLAB函数的某些返回值

如何优雅地忽略MATLAB函数的某些返回值
EN

Stack Overflow用户
提问于 2009-04-14 20:28:49
回答 6查看 55.7K关注 0票数 122

有没有可能从函数中获得第n个返回值,而不必为之前的所有n-1返回值创建伪变量?

比方说,我在MATLAB中有以下函数:

代码语言:javascript
复制
function [a,b,c,d] = func()
a = 1;
b = 2;
c = 3;
d = 4;

现在假设,我只对第三个返回值感兴趣。这可以通过创建一个虚拟变量来实现:

代码语言:javascript
复制
[dummy, dummy, variableThatIWillUse, dummy] = func;
clear dummy;

但我觉得这有点丑陋。我可能认为你可以做以下事情之一,但你不能:

[_, _, variableThatIWillUse, _] = func;

[, , variableThatIWillUse, ] = func;

variableThatIWillUse = func(3);

variableThatIWillUse = func()(3);

有没有什么优雅的方法可以做到这一点呢?

到目前为止,最好的解决方案是简单地使用variableThatIWillUse作为一个虚拟变量。这使我不必创建一个污染工作空间(或需要清除)的真实虚拟变量。简而言之:解决方案是对每个返回值使用variableThatIWillUse,直到感兴趣的返回值为止。之后的返回值可以简单地忽略:

代码语言:javascript
复制
[variableThatIWillUse, variableThatIWillUse, variableThatIWillUse] = func;

我仍然认为这是非常丑陋的代码。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/747296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档