Как ведет себя сканирующее наречие, когда вызывается с более чем одним аргументом? - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть две функции для вычисления экспоненциально взвешенного скользящего среднего. Я понимаю, как работает первый, но я не уверен, что второй получает тот же ответ.

Я новичок в q и думаю, что ответ заключается в понимании того, как работает функция сканирования при вызове с несколькими аргументами. Может ли кто-нибудь помочь с моим пониманием того, как он обрабатывает более одного аргумента?

1)   ewma:{{(y*1-x)+z*x}[x]\[y]}


2)   ewma:{{z+y*x}\[first y;1-x;x*y]}

Если бы кто-то мог предложить какие-либо ресурсы для моего понимания этого языка, кроме Q для Mortals и Q Tips, тогда это было бы намного оценили.

1 Ответ

2 голосов
/ 12 февраля 2020

Справочная карта kdb - действительно хороший ресурс для такого рода вещей. Сканирование и более страница будут вам полезны.

Если вы прокрутите вниз, вы увидите, насколько перегружены операторы сканирования и переполнения, и как их поведение меняется в зависимости от того, 1. как много аргументов, которые вы передаете, и 2. какие типы эти аргументы.

Например, вы можете заставить его вести себя как какое-то время l oop, если один из передаваемых вами аргументов является унарной функцией, которая возвращает логическое значение, и вы можете заставить его действовать как функция do, если переданные аргументы являются целым числом и функцией.

...