Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Polymorphism 如何在jq中复制列表N次?_Polymorphism_Jq - Fatal编程技术网

Polymorphism 如何在jq中复制列表N次?

Polymorphism 如何在jq中复制列表N次?,polymorphism,jq,Polymorphism,Jq,语法[…]*N仅适用于字符串,不适用于列表。此外,我还没有在手册中找到一个内置的,可以轻松完成这项任务 所以我不得不做一些类似的事情 [range(N)|...]|add 有没有一种更简单(或更惯用)的方法在jq N次中复制列表 有没有更简单的方法可以在jq N次中复制列表 不,显然至少部分是因为jq的创建者认为多态性一般不应该扩展到复合类型。考虑“JavaScript:坏的部分”。 还要考虑的是,对于复合类型,“明显意义”的唯一性往往无法得到保证。例如,在某些上下文中,人们可能希望甚至期望[

语法
[…]*N
仅适用于字符串,不适用于列表。此外,我还没有在手册中找到一个内置的,可以轻松完成这项任务

所以我不得不做一些类似的事情

[range(N)|...]|add
有没有一种更简单(或更惯用)的方法在jq N次中复制列表

有没有更简单的方法可以在jq N次中复制列表

不,显然至少部分是因为jq的创建者认为多态性一般不应该扩展到复合类型。考虑“JavaScript:坏的部分”。 还要考虑的是,对于复合类型,“明显意义”的唯一性往往无法得到保证。例如,在某些上下文中,人们可能希望甚至期望[1,2]*3应该产生[3,6]

有没有更简单的方法可以在jq N次中复制列表

不,显然至少部分是因为jq的创建者认为多态性一般不应该扩展到复合类型。考虑“JavaScript:坏的部分”。
还要考虑的是,对于复合类型,“明显意义”的唯一性往往无法得到保证。例如,在某些上下文中,您可能希望甚至期望[1,2]*3应该产生[3,6]。

您要查找的语法不存在。最好是定义一个函数来重复可重用选项的值

def repeat($n):
    . as $val | range($n) | $val;
在您的情况下,要创建一个将另一个数组的内容重复N次的数组,您可以使用上面的操作:

[repeat($N)[]]

对于某些数字,
$N

您要查找的语法不存在。最好是定义一个函数来重复可重用选项的值

def repeat($n):
    . as $val | range($n) | $val;
在您的情况下,要创建一个将另一个数组的内容重复N次的数组,您可以使用上面的操作:

[repeat($N)[]]

对于一些数字,
$N

Re“显然至少部分是因为jq的创建者认为多态性一般不应该扩展到复合类型”,除了所讨论的操作符,
*
,具有扩展到某些复合类型(对象)的多态性。“两个对象相乘会递归地合并”这就是为什么我用“一般”来限定这一点。他们的感受并没有反映在现实中。8个运算符(
+
-
*
/
和赋值;但不包括
/
%
和比较)中的5个运算符被记录为处理某些类型的复合运算符。通常,运算符处理某些复合类型的频率更高。同样,认为
*
在数组上不起作用是不诚实的,因为当
*
在复合类型上起作用时,设计者通常不赞成运算符在复合类型上工作。jq有六种类型,因此
*
有36种可能的限制。jq有两种化合物类型,因此涉及至少一种化合物类型的
\u*\ uu
的可能限制数量为20。在这20种可能性中,实际上只定义了一种(
object*object
),它没有扩展任何其他已定义的限制。那么?这与我所说的任何事情都不矛盾,甚至不相关,“显然至少部分是因为jq的创建者认为多态性一般不应该扩展到复合类型”,除了所讨论的操作符,
*
,具有扩展到某些复合类型(对象)的多态性。“两个对象相乘会递归地合并”这就是为什么我用“一般”来限定这一点。他们的感受并没有反映在现实中。8个运算符(
+
-
*
/
和赋值;但不包括
/
%
和比较)中的5个运算符被记录为处理某些类型的复合运算符。通常,运算符处理某些复合类型的频率更高。同样,认为
*
在数组上不起作用是不诚实的,因为当
*
在复合类型上起作用时,设计者通常不赞成运算符在复合类型上工作。jq有六种类型,因此
*
有36种可能的限制。jq有两种化合物类型,因此涉及至少一种化合物类型的
\u*\ uu
的可能限制数量为20。在这20种可能性中,实际上只定义了一种(
object*object
),它没有扩展任何其他已定义的限制。那么?这与我说的任何话都不矛盾,甚至没有关系