Update 11_lazy_sequences.clj

This commit is contained in:
Alex Gorelov 2018-03-15 17:29:04 +03:00 committed by GitHub
parent 7340a998a1
commit ec99e1227c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,27 +2,27 @@
(:require [koan-engine.core :refer :all])) (:require [koan-engine.core :refer :all]))
(meditations (meditations
"There are many ways to generate a sequence" "Создаём последовательность"
(= __ (range 1 5)) (= __ (range 1 5))
"The range starts at the beginning by default" "От нуля до …"
(= __ (range 5)) (= __ (range 5))
"Only take what you need when the sequence is large" "Ленивые вычисления — взять только то что надо"
(= [0 1 2 3 4 5 6 7 8 9] (= [0 1 2 3 4 5 6 7 8 9]
(take __ (range 100))) (take __ (range 100)))
"Or limit results by dropping what you don't need" "Не брать того что не нужно, да и не хочется"
(= [95 96 97 98 99] (= [95 96 97 98 99]
(drop __ (range 100))) (drop __ (range 100)))
"Iteration provides an infinite lazy sequence" "Если не указать сколько взять, можно переполнить стек. Такая функция."
(= __ (take 8 (iterate (fn [x] (* x 2)) 1))) (= __ (take 8 (iterate (fn [x] (* x 2)) 1)))
"Repetition is key" "Повтор"
(= [:a :a :a :a :a :a :a :a :a :a] (= [:a :a :a :a :a :a :a :a :a :a]
(repeat 10 __)) (repeat 10 __))
"Iteration can be used for repetition" "Результат идентичен"
(= (repeat 100 "hello") (= (repeat 100 "hello")
(take 100 (iterate ___ "hello")))) (take 100 (iterate ___ "hello"))))