在GNU Octave中查看单个文件的执行(echo fc name on)


0

问题很简单:在MATLAB中,你可以简单地使用 echo myFun on 设置 echo 单身的状态 功能 m文件到 on,然后显示每个执行的行。

但是,在GNU Octave中,缺少这样的语法。 help echo 说明:

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 help@octave.org
mailing list.

深入挖掘,信息页面更多:

 -- 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.

所以像我下面的尝试可能会解决问题;然而,正如文件所示,它影响了 功能和 任何 子程序调用 。所以问题仍未解决;我以为我已经回答了我自己的问题,但我发现我没有。

只需添加 echo_executing_commands(2, 'local'); 在函数文件的开头需要调试;换句话说,开放 myFun.m,并在函数m文件的开头插入语句。请注意,这是 只要 Octave功能,因此要完全兼容,请使用:

if exist('OCTAVE_VERSION', 'builtin') ~= 0; echo_executing_commands(2, 'local');end

Answers:


0

这不起作用

只需添加 echo_executing_commands(2, 'local'); 在函数文件的开头需要调试;换句话说,开放 myFun.m,并在函数m文件的开头插入语句。请注意,这是 只要 Octave功能,因此要完全兼容,请使用:

if exist('OCTAVE_VERSION', 'builtin') ~= 0; echo_executing_commands(2, 'local');end

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.