累加器给出不同的结果然后直接应用函数
Accumulator gives different result then direct function applying
试图合并两个结果集我在加入两个键控 tables 时遇到了不同的行为:
q)show t:([a:1 1 2]b:011b)
a| b
-| -
1| 0
1| 1
2| 1
q)t,t
a| b
-| -
1| 1
1| 1
2| 1
q)(,/)(t;t)
a| b
-| -
1| 1
2| 1
为什么累加器 ,/
删除重复键,为什么它的结果不同于直接 table 加入 ,
?
我怀疑 join over(又名 ,/
又名 raze
)在幕后有特殊处理,不会暴露给最终用户。
解释器识别 ,/
并根据输入以特定方式运行。这可能适用于字典和键控表:
q)raze(`a`a`b!1 2 3;`a`b!9 9)
a| 9
b| 9
q)
q)(`a`a`b!1 2 3),`a`b!9 9
a| 9
a| 2
b| 9
q)
q)({x,y}/)(`a`a`b!1 2 3;`a`b!9 9)
a| 9
a| 2
b| 9
试图合并两个结果集我在加入两个键控 tables 时遇到了不同的行为:
q)show t:([a:1 1 2]b:011b)
a| b
-| -
1| 0
1| 1
2| 1
q)t,t
a| b
-| -
1| 1
1| 1
2| 1
q)(,/)(t;t)
a| b
-| -
1| 1
2| 1
为什么累加器 ,/
删除重复键,为什么它的结果不同于直接 table 加入 ,
?
我怀疑 join over(又名 ,/
又名 raze
)在幕后有特殊处理,不会暴露给最终用户。
解释器识别 ,/
并根据输入以特定方式运行。这可能适用于字典和键控表:
q)raze(`a`a`b!1 2 3;`a`b!9 9)
a| 9
b| 9
q)
q)(`a`a`b!1 2 3),`a`b!9 9
a| 9
a| 2
b| 9
q)
q)({x,y}/)(`a`a`b!1 2 3;`a`b!9 9)
a| 9
a| 2
b| 9