Function Octave GUI:右键单击并编辑脚本文件中的函数

Function Octave GUI:右键单击并编辑脚本文件中的函数,function,debugging,octave,octave-gui,Function,Debugging,Octave,Octave Gui,在倍频程GUI的编辑器窗口中,如果我右键单击调用表达式中的函数(例如,f1),然后单击“编辑f1”,函数文件f1.m将打开 但是如果我的函数(现在是plot\u color\u marker\u ranges)是在脚本文件中定义的,而不是在函数文件中定义的,当我右键单击一个名为(1)和“Edit”(2)的表达式时,我会得到以下消息 (一) (二) 当在脚本文件而不是函数文件中定义函数时,我可以获得超链接和导航吗? 复制步骤 创建包含函数f1的脚本文件myscript.m。 此脚本文件的第一个

在倍频程GUI的编辑器窗口中,如果我右键单击调用表达式中的函数(例如,
f1
),然后单击“编辑f1”,函数文件
f1.m
将打开

但是如果我的函数(现在是
plot\u color\u marker\u ranges
)是在脚本文件中定义的,而不是在函数文件中定义的,当我右键单击一个名为(1)和“Edit”(2)的表达式时,我会得到以下消息

(一)

(二)

当在脚本文件而不是函数文件中定义函数时,我可以获得超链接和导航吗?

复制步骤

  • 创建包含函数
    f1
    的脚本文件
    myscript.m
    。 此脚本文件的第一个命令是
    1
  • 创建脚本文件
    mymain.m
    ,并添加一个调用
    f1
    的表达式。 在第一次调用
    f1
    的上方添加
    source('myscript.m')
    。 此脚本与
    myscript.m
    位于同一目录中。 此时,两个文件都保存在磁盘上
  • 从Octave GUI的编辑器窗口运行
    mymain.m
    ,确保从
    mymain
    正确使用
    f1
  • 在倍频程GUI的编辑器窗口中导航到使用
    f1
    的表达式
  • 右键单击文本“
    f1
    ”的任何部分
  • 点击“编辑f1”
  • 编辑

    注:

  • 这对编辑和调试有很大帮助
  • 现在,每当我需要调试时,我都会为函数设置一个M文件。然后我可以将函数传输到脚本文件
  • 使用Win 10下为mingw32配置的倍频程5.1.0

  • 是的,这也适用于脚本。@tasospapstyllanou-这不是我得到的,请参阅编辑的OP。到倍频程,该函数仅在内存中定义。脚本文件没有定义函数,函数是通过运行脚本定义的。它是一个动态生成的函数。我猜这是不可能的。您可能有许多不同的脚本文件,它们都使用相同的名称定义函数,但在运行其中一个之前,函数根本不存在。您应该使用M文件函数。@CrisLuengo-这是我的确切推理,对此我没有太多希望。但我不想从一开始就认为这是不可能的。也许有某种特殊的方式(当然,超出了基本和预期的功能,出于调试目的)将内存中的定义与源文件绑定在一起。见编辑的作品。我一点也不清楚你在描述什么。将此视为一个bug,并编写“复制步骤”,以便我可以遵循您的逻辑。就目前而言,我无法重现这种行为。是的,这也适用于脚本。@TasoPaPaStylianou-这不是我得到的结果,请参见编辑的OP.To Octave,该函数仅在内存中定义。脚本文件没有定义函数,函数是通过运行脚本定义的。它是一个动态生成的函数。我猜这是不可能的。您可能有许多不同的脚本文件,它们都使用相同的名称定义函数,但在运行其中一个之前,函数根本不存在。您应该使用M文件函数。@CrisLuengo-这是我的确切推理,对此我没有太多希望。但我不想从一开始就认为这是不可能的。也许有某种特殊的方式(当然,超出了基本和预期的功能,出于调试目的)将内存中的定义与源文件绑定在一起。见编辑的作品。我一点也不清楚你在描述什么。将此视为一个bug,并编写“复制步骤”,以便我可以遵循您的逻辑。就目前而言,我无法重现这种行为。