1
From https://github.com/tonsky/datascript왜이 데이터 로그 쿼리 집계합니까?
(->
(d/q '[:find ?color (max ?amount ?x) (min ?amount ?x)
:in [[?color ?x]] ?amount]
[[:red 10] [:red 20] [:red 30] [:red 40] [:red 50]
[:blue 7] [:blue 8]]
4)
pr-str
js/console.log)
;;; ([:red [20 30 40 50] [10 20 30 40]] [:blue [7 8] [7 8]])
(->
(d/q '[:find ?color (max ?amount ?x) (min ?amount ?x)
:in [[?color ?x]] ?amount]
[[:red 10] [:red 20] [:red 30] [:red 40] [:red 50]
[:blue 7] [:blue 8]]
3)
pr-str
js/console.log)
;;; ([:red [30 40 50] [10 20 30]] [:blue [7 8] [7 8]])
(->
(d/q '[:find ?color (max ?amount ?x) (min ?amount ?x)
:in [[?color ?x]] ?amount]
[[:red 10] [:red 20] [:red 30] [:red 40] [:red 50]
[:blue 7] [:blue 8]]
2)
pr-str
js/console.log)
;;; ([:red [40 50] [10 20]] [:blue [7 8] [7 8]])
그래서,이 그것이 무엇을하고 있는지에 대한 질문이 아닌,이 그것을 어떻게하고 있는지 (또는 적어도 왜)의 문제이다. max와 min은 각각 다음 정수의 최대 값 또는 최소값을 반환하는 함수입니다. ?amount
은 집계 횟수를 제한하는 것에 어떻게 반영됩니까? 어쨌든 이러한 것들이 왜 모여 있습니까? 코드가 집계되는 방식으로 실행되는 방법. 이 코드가 결과를 생성하기 위해 어떻게 흐르고 있는지 실제로 알 수 없습니다.
: (max N coll)은 coll의 상위 N 값입니다. 최소값과 동일합니다. 최소값은 N입니다. –