【发布时间】:2023-04-03 03:10:01
【问题描述】:
我在 MATLAB 中有一种情况,我想尝试将一个结构字段分配给一个新变量,如下所示:
swimming = fish.carp;
但是字段carp 可能会也可能不会被定义。如果carp 不是有效字段,有没有办法指定默认值?例如,在 Perl 中我会写
my $swimming = $fish{carp} or my $swimming = 0;
其中 0 是默认值,or 指定分配失败时要执行的操作。似乎在 MATLAB 中应该存在类似的东西,但我似乎找不到它的任何文档。为了代码的可读性,我宁愿不使用if 语句或try/catch 块,如果我能提供帮助的话。
【问题讨论】:
-
在 Perl 中最好写成
my $swimming = $fish{carp} // 0;(5.10+) 或my $swimming = ( exists $fish{carp} ) ? $fish{carp} : 0;( -
您可能是对的,但这并不能回答我的问题 (-1)。
-
这就是为什么它是评论,而不是答案。
-
fish.carp的可能值是多少?是boolean吗? -
这是一个结构字段,可能存在也可能不存在(即结构
fish始终存在,但它可能有也可能没有字段carp)。实际值是整数。
标签: matlab perl try-catch variable-assignment default