.png)
La pregunta es simple: en MATLAB, simplemente puede usar echo myFun on
para establecer el echo
estado de un solofunciónm-file to on
, que luego te muestra cada una de las líneas ejecutadas.
En GNU Octave, sin embargo, falta dicha sintaxis. help echo
muestra:
octave:1> help echo
'echo' is a built-in function from the file libinterp/corefcn/input.cc
-- Command: echo
-- Command: echo on
-- Command: echo off
-- Command: echo on all
-- Command: echo off all
Control whether commands are displayed as they are executed.
Valid options are:
'on'
Enable echoing of commands as they are executed in script
files.
'off'
Disable echoing of commands as they are executed in script
files.
'on all'
Enable echoing of commands as they are executed in script
files and functions.
'off all'
Disable echoing of commands as they are executed in script
files and functions.
With no arguments, 'echo' toggles the current echo state.
Additional help for built-in functions and operators is
available in the online version of the manual. Use the command
'doc <topic>' to search the manual index.
Help and information about Octave is also available on the WWW
at http://www.octave.org and via the [email protected]
mailing list.
Profundizando, la página de información dice más:
-- Built-in Function: VAL = echo_executing_commands ()
-- Built-in Function: OLD_VAL = echo_executing_commands (NEW_VAL)
-- Built-in Function: echo_executing_commands (NEW_VAL, "local")
Query or set the internal variable that controls the echo state.
It may be the sum of the following values:
1
Echo commands read from script files.
2
Echo commands from functions.
4
Echo commands read from command line.
More than one state can be active at once. For example, a value of
3 is equivalent to the command 'echo on all'.
The value of 'echo_executing_commands' may be set by the 'echo'
command or the command line option '--echo-commands'.
When called from inside a function with the "local" option, the
variable is changed locally for the function and any subroutines it
calls. The original variable value is restored when exiting the
function.
Entonces, algo como mi intento a continuación podría resolver el problema; sin embargo, como sugiere la documentación, afecta lafunción y cualquier llamadas de subrutinas. Entonces el problema aún no está resuelto; Pensé que había respondido mi propia pregunta, pero descubrí que no.
Simplemente agregue echo_executing_commands(2, 'local');
al principio el archivo de función que necesita depuración; en otras palabras, abra myFun.m
e inserte la declaración al comienzo de la función m-file. Tenga en cuenta que esto essoloFunción de octava, por lo que para que sea totalmente compatible, utilice:
if exist('OCTAVE_VERSION', 'builtin') ~= 0; echo_executing_commands(2, 'local');end
Respuesta1
Esto no funciona
Simplemente agregue echo_executing_commands(2, 'local');
al principio el archivo de función que necesita depuración; en otras palabras, abra myFun.m
e inserte la declaración al comienzo de la función m-file. Tenga en cuenta que esto essoloFunción de octava, por lo que para que sea totalmente compatible, utilice:
if exist('OCTAVE_VERSION', 'builtin') ~= 0; echo_executing_commands(2, 'local');end