可能有更好的方法,但是,我这样做的方法是:
请注意,这是我基于评论的答案的扩展。当超越上述简单的概念验证脚本时,重要的是要知道该控制台在调用之间保留状态。例如,如果我们运行这个方案脚本:
(define jea-test-img-id nil)
(define (jea-find-test-img)
(car (gimp-image-list)))
Run Code Online (Sandbox Code Playgroud)
然后转到控制台并键入:
jea-test-img-id
Run Code Online (Sandbox Code Playgroud)
我们得到的结果是:
> jea-test-img-id
()
Run Code Online (Sandbox Code Playgroud)
这很好,脚本根据需要启动了变量,我们看到了结果。因此在脚本中设置了 var,控制台保留了脚本中的状态更改。现在让我们更改控制台中的状态:
(set! jea-test-img-id (jea-find-test-img))
Run Code Online (Sandbox Code Playgroud)
我们调用一个方便的函数,它获取活动图像列表中的第一个图像 ID,并将其存储在我们之前声明的变量中(当时为 nil)。现在让我们再次检查这个问题:
jea-test-img-id
Run Code Online (Sandbox Code Playgroud)
那么结果:
> jea-test-img-id
1
Run Code Online (Sandbox Code Playgroud)
如此高级:当您在处理脚本时,创建工作变量来保存您想要处理的内容,例如图像、像素、宽度等,然后一点一点地让函数工作。最后,一旦您有了简短的代码片段,您就可以将其折叠为一个干净的函数。