Skip to content

Instantly share code, notes, and snippets.

@swannodette
Last active December 16, 2015 21:20
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save swannodette/5498794 to your computer and use it in GitHub Desktop.
Save swannodette/5498794 to your computer and use it in GitHub Desktop.
(ns hs-js-clj.core)
(def foo {:bar 1})
(defn fooify [n] (str "foo" n))
(defn commaify [[x y]]
(str x ", " y))
hs-js-clj.core> (take 3 (repeat "red"))
("red" "red" "red")
hs-js-clj.core> (take 100 (repeat "red"))
("red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red" "red")
hs-js-clj.core> (take 100 (interleave (repeat "red") (repeat "blue")))
("red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue" "red" "blue")
hs-js-clj.core> (take 100 (interleave (repeat "red") (repeat "blue") (repeat "blue")))
("red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red" "blue" "blue" "red")
hs-js-clj.core> (take 100 (interleave (repeat "red") (repeat "white") (repeat "blue")))
("red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red" "white" "blue" "red")
hs-js-clj.core> (partition 2 1 (take 100 (interleave (repeat "red") (repeat "white") (repeat "blue")))
)
(("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red") ("red" "white") ("white" "blue") ("blue" "red"))
hs-js-clj.core> (repeat "blue")
hs-js-clj.core> (take 1 (map * (range) (rest (range))))
(0)
hs-js-clj.core> (take 2 (map * (range) (rest (range))))
(0 2)
hs-js-clj.core> (take 3 (map * (range) (rest (range))))
(0 2 6)
hs-js-clj.core> (take 100 (map * (range) (rest (range))))
(0 2 6 12 20 30 42 56 72 90 110 132 156 182 210 240 272 306 342 380 420 462 506 552 600 650 702 756 812 870 930 992 1056 1122 1190 1260 1332 1406 1482 1560 1640 1722 1806 1892 1980 2070 2162 2256 2352 2450 2550 2652 2756 2862 2970 3080 3192 3306 3422 3540 3660 3782 3906 4032 4160 4290 4422 4556 4692 4830 4970 5112 5256 5402 5550 5700 5852 6006 6162 6320 6480 6642 6806 6972 7140 7310 7482 7656 7832 8010 8190 8372 8556 8742 8930 9120 9312 9506 9702 9900)
hs-js-clj.core> (take 100 (map * (range 0 10) (rest (range))))
(0 2 6 12 20 30 42 56 72 90)
hs-js-clj.core> (range 10)
(0 1 2 3 4 5 6 7 8 9)
hs-js-clj.core> (rest (range 10))
(1 2 3 4 5 6 7 8 9)
hs-js-clj.core> (take 100 (map vec (range 0 10) (rest (range))))
ArityException Wrong number of args (2) passed to: core$vec clojure.lang.AFn.throwArity (AFn.java:437)
hs-js-clj.core> (take 100 (map vector (range 0 10) (rest (range))))
([0 1] [1 2] [2 3] [3 4] [4 5] [5 6] [6 7] [7 8] [8 9] [9 10])
hs-js-clj.core> :foo
:foo
hs-js-clj.core> (#{:bird :dog :cat} :cat)
:cat
hs-js-clj.core> (["foo" "bar"] 0)
"foo"
hs-js-clj.core> (["foo" "bar"] 1)
"bar"
hs-js-clj.core> (map ["1111 Bit Ave." "100101"] [1 0])
("100101" "1111 Bit Ave.")
hs-js-clj.core> (map :first [{:first "david" :last "nolen"}])
("david")
hs-js-clj.core> (map [{:first "David" :last "Nolen"}] [:last :first])
IllegalArgumentException Key must be integer clojure.lang.APersistentVector.invoke (APersistentVector.java:265)
hs-js-clj.core> (map {:first "David" :last "Nolen"} [:last :first])
("Nolen" "David")
hs-js-clj.core> (commaify "Nolen" "David")
ArityException Wrong number of args (2) passed to: core$commaify clojure.lang.AFn.throwArity (AFn.java:437)
hs-js-clj.core> (commaify ["Nolen" "David"])
"Nolen, David"
hs-js-clj.core> (commaify (map {:first "David" :last "Nolen"} [:last :first]))
"Nolen, David"
hs-js-clj.core> (:first {:first "David"})
"David"
hs-js-clj.core> ({:first "David"} :first)
"David"
hs-js-clj.core> ({:frist "David"} 0)
nil
hs-js-clj.core> ({:frist "David"} 0 ::not-found)
:hs-js-clj.core/not-found
hs-js-clj.core> ({:first "David"} 0 ::not-found)
:hs-js-clj.core/not-found
hs-js-clj.core>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment