mirror of
https://github.com/janet-lang/janet
synced 2026-11-07 13:54:27 +00:00
Simplify frequencies implementation (#1793)
* Add tests for frequencies * Simplify frequencies implementation --------- Co-authored-by: sogaiu <983021772@users.noreply.github.com>
This commit is contained in:
1 parent
f362e8f0fa
commit
331e8544bc
2 files changed
+9
-2
No files matched your search
+1
-2
@@ -1764,8 +1764,7 @@
|
||||
[ind]
|
||||
(def freqs @{})
|
||||
(each x ind
|
||||
(def n (in freqs x))
|
||||
(set (freqs x) (if n (+ 1 n) 1)))
|
||||
(put freqs x (inc (in freqs x 0))))
|
||||
freqs)
|
||||
|
||||
(defn group-by
|
||||
|
||||
@@ -1032,4 +1032,12 @@
|
||||
# regression test for #1659
|
||||
(assert (= (try (error :error) ([_ _] :caught)) :caught))
|
||||
|
||||
# frequencies
|
||||
(assert (deep= (frequencies :lol) @{108 2 111 1}))
|
||||
(assert (deep= (frequencies [:duck :duck :duck :goose]) @{:duck 3 :goose 1}))
|
||||
(assert (deep= (frequencies {1 :a 2 :x 3 :x 8 :a}) @{:a 2 :x 2}))
|
||||
(assert (deep= (frequencies @{}) @{}))
|
||||
(assert (deep= (frequencies (coro (yield 1) (yield 8) (yield 2) (yield 8)))
|
||||
@{1 1 2 1 8 2}))
|
||||
|
||||
(end-suite)
|
||||
Reference in new issue
Block a user