在 Dispatch 中使用变量<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我正在尝试使用 Dispatch 操纵图形的轴。 以下代码运行良好:
发送报告(
派遣(
{} ,
“先驱”,
标尺盒,
{最小值( 3395001600 ) ,最大限度( 3413404800 ) ,间隔( “天” ) ,公司( 5个) ,小滴答声( 0 ) ,旋转标签( 1个)}
) ,
但是,我需要编写大量图形的脚本,所以我想将它们包装成一个循环,这在原则上也有效(创建图形并显示数据)。 不起作用的是轴的操纵。 我使用的代码是:
date_list= list("先驱", "BL", "TCO");
我=1;
发送报告(
派遣(
{} ,
日期列表,
标尺盒,
{最小值( 3395001600 ) ,最大限度( 3413404800 ) ,间隔( “天” ) ,公司( 5个) ,小滴答声( 0 ) ,旋转标签( 1个)}
) ,
这是行不通的。 我在日志中得到的消息是
找不到 ScaleBox 下标
JMP9 是否接受 Dispatch 中的变量?
任何帮助表示赞赏。
干杯
阿诺
在 Dispatch 中使用变量尝试将图形的代码存储为表达式,然后在计算表达式之前使用 Substitute()。 我不知道为什么 dispatch 不能处理一个变量。 我在 JSL 中遇到过其他情况,其中参数只需要引用字符串,但我仍然没有想出一种方法来判断哪些函数/消息拒绝使用变量。 也许没有逻辑,只是一些 jsl 函数仍处于 beta 版本,并且可能在 JMP 的未来版本中接受变量。
无论如何,eval(substitute) 方法是解决其中许多情况的变通方法。
一个例子:
打开( “$ENGLISH_SAMPLE_DATA/Big Class.jmp” ) ;
一些列表= { “1” , “2” } ;
一世= 1个;
biv =表达式(
双变量(
是( :重量) ,
X ( :高度) ,
发送报告(
派遣(
{} ,
一些列表[一世] ,
标尺盒,
{最小值( 0 ) ,最大限度( 100 ) ,公司( 5个) ,小滴答声( 1个)}
)
)
)
) ;
评价(代替(名称表达式( biv ) ,表达式(一些列表[一世] ) ,一些列表[一世] ) ) ;