最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

kdb+ - What type of composition is (count 1 2 3,) - Stack Overflow

programmeradmin27浏览0评论

I understand (count 1 2 3,) is a composition, because I see its type is 105.

q)type(count 5 6,)
105h

Initially I thought this is an example of implicit composition, which

Compose one or more unary values with a higher-rank value

I thought the values are

  1. unary: count
  2. unary: 1 2 3
  3. binary: , (join)

However, I don't think that's correct because , (join operator) has rank 2, but the result of the composition only has rank 1. This goes against what I read, i.e. result of composition should have the same rank as the last value.

Could someone help explain how exactly this composition works?

I suspect the "composed values" are instead

  1. unary: count
  2. unary: 1 2 3,

If this is the case, doesn't composing a series of unary values require an @ (apply at) as stated at the bottom of this page?

I understand (count 1 2 3,) is a composition, because I see its type is 105.

q)type(count 5 6,)
105h

Initially I thought this is an example of implicit composition, which

Compose one or more unary values with a higher-rank value

I thought the values are

  1. unary: count
  2. unary: 1 2 3
  3. binary: , (join)

However, I don't think that's correct because , (join operator) has rank 2, but the result of the composition only has rank 1. This goes against what I read, i.e. result of composition should have the same rank as the last value.

Could someone help explain how exactly this composition works?

I suspect the "composed values" are instead

  1. unary: count
  2. unary: 1 2 3,

If this is the case, doesn't composing a series of unary values require an @ (apply at) as stated at the bottom of this page?

Share Improve this question asked Nov 29, 2024 at 4:10 kgf3JfUtWkgf3JfUtW 14.9k12 gold badges62 silver badges89 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 3

It is implicit composition but is created in a different order giving a different outcome.

The example from the site:

  • 0|+ is noun rank2 rank2

This example binds the noun to the rank2 to it's right leaving the trailing rank2 giving the rank of the whole composition as 2.

Your example:

  • count 5 6, is rank1 noun rank2

This example again binds the noun to rank2 to it's right which drops it to rank 1 before composing

  • https://code.kx.com/q/basics/syntax/#prefix-infix-postfix
  • https://code.kx.com/q/basics/syntax/#nouns

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论