标题: 关于TSL——the in operator [打印本页] 作者: jiaolq_0 时间: 2007-6-13 10:06 标题: 关于TSL——the in operator 原语句如下:
for (i=0; i<5; i++) #第一个for语句
{
date = time_str();
date_array = date;
wait(5);
}
for(i=0;i<5;i++) #第二个for语句
{
print("date_array["i"]="date_array);
}
for (i in date_array) #第三个for语句
{
print ("i= " &i);
print ("the date was " &date_array);
}
其输出结果:
date_array[0]=Wed Jun 13 10:06:11 2007
date_array[1]=Wed Jun 13 10:06:16 2007
date_array[2]=Wed Jun 13 10:06:21 2007
date_array[3]=Wed Jun 13 10:06:26 2007
date_array[4]=Wed Jun 13 10:06:31 2007
i= 0
the date was Wed Jun 13 10:06:11 2007
i= 4
the date was Wed Jun 13 10:06:31 2007
i= 1
the date was Wed Jun 13 10:06:16 2007
i= 2
the date was Wed Jun 13 10:06:21 2007
i= 3
the date was Wed Jun 13 10:06:26 2007
我的疑问:
1、变量 i 做过第二个for循环后值应该是5,那它在第三个for循环时的第一值怎么会是0呢?好像 i 值的选取没有规律啊(顺序居然是04123)?
2、把这第一二个for语句存成第一个文件,第三个for语句存成第二个文件,先执行第一个文件,再执行第二个文件。第二个文件的 i 和date_array居然是取的第一个文件的值,为什么如果在一个文件中一个变量如果没有初值,它就提取最近其他文档中的值呢?
关于"2、把这第一二个for语句存成第一个文件,第三个for语句存成第二个文件,先执行第一个文件,再执行第二个文件。第二个文件的 i 和date_array居然是取的第一个文件的值,为什么如果在一个文件中一个变量如果没有初值,它就提取最近其他文档中的值呢?"这个问题,应该是执行完脚本后,WR已经记住了date_array的值.每次都会去读取它的最新值.
不清楚,楼主做这个脚本的用途是什么,方便解释一下吗?作者: yemen126459 时间: 2007-6-20 16:49
for (i in date_array) 中的i和date_array为不同类型!!!!!
执行过程中会有错误!作者: 快乐逍遥 时间: 2007-6-20 16:51
1、for (i in date_array) 参考了一下wr user help, 使用in 是没指定顺序的
2、可能是你执行完第一个文件,没stop,date_array没有释放,接着运行第二个文件,就会取到之前运行得到的值喽作者: kolecat 时间: 2007-6-20 17:30
狂晕 阿, 我找书上的例子写了一个一模一样的
for(i=0;i<5;i++)
{
date = time_str();
date_array\[i\] = date;
wait(5);
}