Gnuplot 中的过程

Avi*_*vio 4 procedure gnuplot function

有没有办法在 Gnuplot 中使用程序(或类似 C 的函数)?我需要一些非常简单的东西,就像:

function func1()
{
 var1 = "string1";
 var2 = var1."string2";

 return var2;
}
Run Code Online (Sandbox Code Playgroud)

使我的 gnuplot 脚本更加紧凑​​。

mgi*_*son 6

Gnuplot 支持带参数的(简单)函数:

func1(x)=x."string2"
Run Code Online (Sandbox Code Playgroud)

如果您使用 gnuplot 4.4,则可以创建更复杂的“内联”函数:

func1(x)=(var1=x, var2=var1."string2", var1.var2)  #returns x.x."string2"
Run Code Online (Sandbox Code Playgroud)

在这种形式中,函数的最后一部分是返回的内容 ( var1.var2),并且语句从左到右进行计算。

如果您想要不接受参数的函数,您可以(通常)使用宏:

set macro
funcmacro='"string1"."string2"'
print @funcmacro
Run Code Online (Sandbox Code Playgroud)