Doh*_*Joe 1 syntax scripting matlab function octave
在寻找MATLAB和Octave的代码片段时,我注意到函数以各种方式结束,所有这些函数似乎都运行得很好.具体来说,我说的是驻留在特定文件中的函数.
MATLAB似乎结束了它们的功能end
.
function y = average(x)
y = sum(x)/length(x);
end
Run Code Online (Sandbox Code Playgroud)
Octave结束其功能endfunction
.
function retval = avg (v)
retval = sum (v) / length (v);
endfunction
Run Code Online (Sandbox Code Playgroud)
但是,我的函数完全正常,没有任何关键字在函数的末尾.
所以我的问题是,MATLAB/Octave与函数定义的结尾有多严格.
endfunction
endfunction
是Octace特有的,这不是有效的MATLAB语法(同样适用于endfor
......)end
在Octave中使用兼容性.end
end
当它是文件中唯一的函数时,您不必使用该语句结束函数.来自文档:
通常,函数不需要结束语句.
这是一个关于SO的相关问题:当没有使用"end"时,一个.m文件中的多个函数是嵌套的还是本地的,相关的摘录是这样的,同样来自文档:
要将任何函数嵌套在程序文件中,该文件中的所有函数都必须使用结束语句.
所以在具有唯一功能的函数文件中,简短的回答是"根本不严格".但是,使用它是一种很好的做法,end
因此如果要添加其他本地函数,则模糊性和灵活性会降低.
归档时间: |
|
查看次数: |
638 次 |
最近记录: |