MATLAB 文档是这样描述break
关键字的:
break
终止 for 或 while 循环的执行。break 语句之后的循环中的语句不执行。- 在嵌套循环中,break 仅从它发生的循环中退出。控制传递到该循环结束之后的语句。
(我的重点)
如果你想退出多个嵌套循环怎么办?其他语言(例如 Java)提供标记的中断,允许您指定控制流的传输位置,但 MATLAB 缺少这种机制。
考虑以下示例:
% assume A to be a 2D array
% nested 'for' loops
for j = 1 : n
for i = 1 : m
if f(A(i, j)) % where f is a predicate
break; % if want to break from both loops, not just the inner one
else
% do something interesting with A
end
end
% <--- the break transfers control to here...
end
% <--- ... but I want to transfer control to here
从两个循环中退出的惯用方式(在 MATLAB 中)是什么?