Учитывая, что заголовок файла Octave m с #! /usr/bin/octave -q
, может ли быть определена функция внутри этого файла ?, или единственный способ сделать это - вызвать функции, определенные в другом файле?Могут ли функции быть определены в исполняемом исполняемом файле GNU Octave?
0
A
ответ
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());
Вы пробовали и посмотреть, что происходит? –
На самом деле я это сделал, и было бы хорошо, если бы я сообщил об этом, но результат был настолько странным, что я предпочел не добавлять путаницы в утверждение. (Ну, решение оказалось таким же странным, как и исходное поведение :) – nightcod3r