11.3 从函数返回

用户定义的函数体可以包含 return 语句。该语句将控制权返回给 Octave 程序的其余部分。其形式如下:

return

与 C 语言中的 return 语句不同,Octave 的 return 语句不能用于从函数返回值。相反,您必须将值赋给作为 function 声明一部分的返回变量列表。return 语句仅仅是让函数更容易从深度嵌套的循环或条件语句中退出。

下面是一个示例函数,用于检查向量中是否有任何元素非零。

function retval = any_nonzero (v)
  retval = 0;
  for i = 1:length (v)
    if (v (i) != 0)
      retval = 1;
      return;
    endif
  endfor
  printf ("no nonzero elements found\n");
endfunction

请注意,如果不添加额外的逻辑来避免在向量确实包含非零元素时打印消息,则无法使用 break 语句在找到非零值后退出循环来实现此函数。

return

当 Octave 在函数或脚本中遇到关键字 return 时,它会立即将控制权返回给调用方。在顶层,return 语句被忽略。每个函数定义的末尾都会假定存在一个 return 语句。

版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4