gnuplot中的块注释

9

我有一个相当长的gnuplot脚本。为了调试目的,我想能够使用块注释来屏蔽脚本的某些部分或使用“goto”语句。这可能吗?

我知道我可以使用if语句:

if (1 == 2) {
commented-out-code
} else {
non-commented-out code
}

这是唯一的解决方案吗?


它也可用于真实的块注释。因为Gnuplot 解释文本,所以大多数元素在语法上是被容忍的(请参见我的答案)。 - Wolf
3个回答

8

在gnuplot中,注释以#开头。如果你想注释整个块,你的文本编辑器应该能够做到(例如,在Emacs中选择块后按下M-;)。


6
Gnuplot不支持块注释(截至5版本)。但由于Gnuplot 解释您的脚本,您提供的解决方案可以解决问题。但是,不要使用表达式来使其为假(评估为0),而应使用最明显的符号表示法(为了安全起见,请添加一个用于说明其目的的注释)。避免使用else,因为它只会复杂化事情。
请看以下示例,以了解它并不像人们想象的那么容易。
if (0) { # commented-out block
This block is completely ignored by Gnuplot.
Well, obviously not completely...
# }{
...because Gnuplot is not just looking for the closing curly brace ;-)
}

5

@choroba提出的建议之外,另一个解决方案是将脚本的各个部分分别存储在不同的文件中,然后管理一个“主”文件,该文件调用您未注释的文件:

# master script
load "part1.plt"
#load "part2.plt"
load "part3.plt"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接