在相邻区间内查找和筛选
相邻区间是指某个成员周围的其它成员构成的区间。
举例
例 1
有一个数字序列,想要找出数字10以后出现的第一个奇数。
编写SPL脚本:
A |
|
1 |
[10,2,4,3,10,3,8,7,10,8,3,10,6,4,7] |
2 |
=A1.(if(~==10,~[1:].select@1(~%2==1))) |
3 |
=A2.select(~) |
A1 数字序列
A2 循环A1的每个数,计算:如果当前数是10,则从它后面的数中选出第1个奇数。其中~[1:]表示当前数的下一个到最后一个组成的序列,选项@1表示选出满足条件的第1个。当前数不是10则返回null
A3 选出A2中不是null的数字
例 2
有一个数字序列由1和2组成,想要统计第1个数字1以后有多少个2。
编写SPL脚本:
A |
|
1 |
[2,2,1,1,2,1,1,2,2] |
2 |
=A1.to(A1.pselect(~==1),).count(~==2) |
A1 数字序列
A2 统计第1个数字1以后数字2的个数,A1.pselect(~==1)是选出第1个数字1的序号,to函数是选出从这个序号开始直到A1序列最后的数字。
英文版
英文已更新