有没有一种方法可以按输入中的位置范围对记录进行分组?

时间:2019-05-18 13:41:56

标签: xquery basex

有什么方法可以按位置范围对输入进行分组? 就我而言,我有一个使用多个字符串的函数。我需要将它们按静态位置范围(1-3、4-6、7-9等)进行分组,然后在for循环中为此组中的每一个执行一些代码。 我不知道传递了多少个字符串。它可以根据输入而变化。

我曾尝试在$ i中以$ x进行迭代,但是无法正确处理

 declare function bs:concat-strings
   ( $multipleStringInput as item()+ )  {
     let $firstString := $multipleStringInput[position() = 1]
     let $secondString := $multipleStringInput[position() = 2]
     let $thirdString := $multipleStringInput[position() = 3]
     let $concat :=
                     concat(
                            $firstString, 
                            $secondString, 
                            $thirdString)
     return bs:next-function($concat)
  } ;

所以我的目标是将这三个字符串分成3个较小的变量,以便能够单独使用它们,并像上面一样使用常量[position()= 1],[position()= 2],[ positon()= 3]然后合并它们,并将它们传递给下一个函数,或以某种方式在每次迭代中更改位置[1,2,3]-> [4,5,6]。

例如:

输入: “猫”,“喜欢”,“鱼”,“狗”,“喜欢”,“骨头”

输出: bs:next-function('Catlikesfish') bs:next-function('Doglikesbones')

1 个答案:

答案 0 :(得分:2)

使用TypeError: Cannot read property 'click' of undefined at open_tab (C:\wamp64\www\home_robot\robot.js:43:12) at process._tickCallback (internal/process/next_tick.js:68: 子句https://www.w3.org/TR/xquery-31/#id-windows,例如

tumbling window

要在每个项目上调用函数,请使用地图运算符for tumbling window $window in ('Cat', 'likes', 'fish', 'Dog', 'likes', 'bones') start at $s when $s mod 3 = 1 return string-join($window)

!