-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsequence-practice.clj
More file actions
36 lines (29 loc) · 815 Bytes
/
sequence-practice.clj
File metadata and controls
36 lines (29 loc) · 815 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
;;; Sequence Processing (`->>` `reduce` `apply`) Practice
;;; 2023.09.26
(ns sequence-practice.ns
(:require [clojure.string :as str]))
(defn odd-sum
"Calculate the sum of odd numbers in a sequence."
[numbers]
(->>
numbers
(filter odd?)
(reduce +)))
(defn even-sum
"Calculate the sum of even numbers in a sequence."
[numbers]
(reduce +
(filter even? numbers)))
(defn concatenate
"Concatenate multiple strings with spaces in between."
[& text]
(apply str/join " " text))
(def num-sequence (range 1 11))
(def str-sequence ["Live" "for" "your" "smile" "and" "die" "for" "your" "kiss"])
(defn -main
"Main function to demonstrate sequence processing."
[]
(println (odd-sum num-sequence))
(println (even-sum num-sequence))
(println (concatenate str-sequence)))
(-main)