什么是 (!)。在 kdb 中,下面的用例是否有效?
What is (!). in kdb and are below usecases valid to use it?
什么是 (!)。在 kdb 中调用?
并且以下用例有效使用 (!)。将列表转换为字典,或者是否有更好的方法和 (!) 的其他用途。 ?
示例:
q)(!). (`A`B;(`C`D`E;`F`G`H));
q).[(!);flip (`A`B;`C`D;`E`F)]
我找不到关于 (!) 用例的任何文档。在 kdb 教程中。请分享有关 (!) 的任何信息。及其用途?
这是应用的一个版本,是的,您的用例是有效的。运算符被括在括号中的原因是因为它本身是一个二元中缀运算符,点应用 (.)
如果你试图按原样应用它,你的表达就像这样,Q 不喜欢
// infixOp infixOp operand
q)+ . 4 5
'
[0] + . 4 5
^
将运算符括在括号中可以有效地对其进行转换,因此表达式现在变为
// operand infixOp operand
q)(+). 4 5
9
如果你定义了一个不能使用中缀的函数,那么就不需要包装它
q)f:+
q)4 f 5
'type
[0] 4 f 5
^
q)f . 4 5
9
如果在您的示例中使用带有括号表示法的应用程序,则无需包装函数
q).[+;4 5]
9
https://code.kx.com/q/ref/apply/#apply-index
https://code.kx.com/q/basics/syntax/#parentheses-around-a-function-with-infix-syntax
贾森
就 use-cases 而言,我发现它在将 dictionaries/tables 定义为配置时非常有用,尤其是当词典对于屏幕来说太宽(水平)时,或者当看到 [=23] 更有用时=] 垂直成对。从code/script的角度来看就是。
例如:
mapping:(!) . flip(
(`one; 1);
(`two; 2);
(`three; 3));
扫描 q 脚本比
更容易阅读
mapping2:`one`two`three!1 2 3
当后者变得很宽时。
当然,这对实际词典没有影响,因为正如 Jason 指出的那样。
什么是 (!)。在 kdb 中调用?
并且以下用例有效使用 (!)。将列表转换为字典,或者是否有更好的方法和 (!) 的其他用途。 ?
示例:q)(!). (`A`B;(`C`D`E;`F`G`H)); q).[(!);flip (`A`B;`C`D;`E`F)]
我找不到关于 (!) 用例的任何文档。在 kdb 教程中。请分享有关 (!) 的任何信息。及其用途?
这是应用的一个版本,是的,您的用例是有效的。运算符被括在括号中的原因是因为它本身是一个二元中缀运算符,点应用 (.)
如果你试图按原样应用它,你的表达就像这样,Q 不喜欢
// infixOp infixOp operand
q)+ . 4 5
'
[0] + . 4 5
^
将运算符括在括号中可以有效地对其进行转换,因此表达式现在变为
// operand infixOp operand
q)(+). 4 5
9
如果你定义了一个不能使用中缀的函数,那么就不需要包装它
q)f:+
q)4 f 5
'type
[0] 4 f 5
^
q)f . 4 5
9
如果在您的示例中使用带有括号表示法的应用程序,则无需包装函数
q).[+;4 5]
9
https://code.kx.com/q/ref/apply/#apply-index
https://code.kx.com/q/basics/syntax/#parentheses-around-a-function-with-infix-syntax
贾森
就 use-cases 而言,我发现它在将 dictionaries/tables 定义为配置时非常有用,尤其是当词典对于屏幕来说太宽(水平)时,或者当看到 [=23] 更有用时=] 垂直成对。从code/script的角度来看就是。
例如:
mapping:(!) . flip(
(`one; 1);
(`two; 2);
(`three; 3));
扫描 q 脚本比
更容易阅读mapping2:`one`two`three!1 2 3
当后者变得很宽时。
当然,这对实际词典没有影响,因为正如 Jason 指出的那样。