2016-09-16 14 views
0

給定一個帶有#! /usr/bin/octave -q的Octave m文件標題,函數可以在這個文件中定義嗎?或者唯一的方法是調用另一個文件中定義的函數?函數可以在shebang可執行GNU Octave文件中定義嗎?

+3

你有沒有嘗試過,看看會發生什麼? –

+0

其實我是這麼做的,我很高興能報告,但結果很奇怪,我寧願不要混淆陳述。 (好吧,解決方案導致與原來的行爲一樣怪異:) – nightcod3r

回答

4

是的,他們可以。唯一的是第一個Octave語句不能是一個函數定義,這就是爲什麼許多Octave程序將以1;開頭的原因。但是,我的經驗是,大多數Octave程序需要一個包,所以第一個語句可以只是所述包的加載。

下面是一個例子倍頻程序:

#!/usr/bin/env octave 
## Do not forget your license 

pkg load foo; 
pkg load bar; 

1; # not really necessary because of the pkg load statements above 

function foobar() 
    ## this function does something amazing 
endfunction 

function main (argv) 
    disp (argv); 
endfunction 

main (argv()); 
相關問題