Пожалуйста, помогите мне с оператором двоеточия :
, я застрял на том, как это работает. Он работает как присваивание, присваивание через x+:1
, глобальное присваивание / просмотр ::
, I / O 0:
, 1:
, для возврата значения из середины функции :r
и получения унарной формы оператора #:
.
Но что произошло, если применить к нему наречие? Я пробовал так:
$ q
KDB+ 3.6 2019.04.02 Copyright (C) 1993-2019 Kx Systems
q)(+')[100;2 3 4]
102 103 104
q)(:')[x;2 3 4]
'x
[0] (:')[x;2 3 4]
^
q)(:')[100;2 3 4]
2 3 4
Я ожидаю оценки в следующем порядке: x:2
, затем x:3
, затем x:4
. Чтобы получить x:4
в результате. Но у меня есть ошибка. А также :'
работает с числом 100
по неизвестной причине.
Что на самом деле делает :'
q)parse "(:')[100;2 3 4]"
(';:)
100
2 3 4
Разбор не пролил много света на меня, поэтому я прошу вашей помощи.