Move History

Rooted by: F# Basics
Fork Selected
  • 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)))
  • 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)))