-
Code (ns basics.core) (defn add [a b] (+ a b)) (defn square [x] (* x x)) (def result (-> (add 1 2) (add 3) (add 4) (square))) (println result) ;; It is better (without def), but it is more difficult to test: ; (let [result (-> (add 1 2) ; (add 3) ; (add 4) ; (square))] ; (print result)) ;; Shorter: ; (def add #(+ %1 %2)) ; (def square #(* %1 %1)) ;; Or maybe just: ; (def add +)
Test Cases (ns basics.core-test (:require [clojure.test :refer :all] [basics.core :refer [result]])) (deftest result-100? (testing "Result equals 100" (is result 100)))
Output:
-
Code add = -> a, b { a + b }square = -> x { x * x }- (ns basics.core)
# sigh, if only Ruby supported pipes!result = square.(add.(add.(add.(1,2), 3), 4))- (defn add [a b] (+ a b))
- (defn square [x] (* x x))
- (def result (-> (add 1 2) (add 3) (add 4) (square)))
puts result- (println result)
- ;; It is better (without def), but it is more difficult to test:
- ; (let [result (-> (add 1 2)
- ; (add 3)
- ; (add 4)
- ; (square))]
- ; (print result))
- ;; Shorter:
- ; (def add #(+ %1 %2))
- ; (def square #(* %1 %1))
- ;; Or maybe just:
- ; (def add +)
Test Cases Test.assert_equals(result, 100)- (ns basics.core-test
- (:require [clojure.test :refer :all]
- [basics.core :refer [result]]))
- (deftest result-100?
- (testing "Result equals 100"
- (is result 100)))
- All
- {{group.name}} ({{group.count}})
This comment has been reported as {{ abuseKindText }}.
Show
This comment has been hidden. You can view it now .
This comment can not be viewed.
- |
- Reply
- Edit
- View Solution
- Expand 1 Reply Expand {{ comments?.length }} replies
- Collapse
- Remove
- Remove comment & replies
- Report
{{ fetchSolutionsError }}