Size: a a a

Clojure — русскоговорящее сообщество

2019 December 24

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
наверное (drop n (cycle s)) будет попроще
опоздал 😊
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Gleb Averchuk
(defn rotate [n s] 
 (lazy-cat (drop n s)
           (take n s)))
и не будет работать, если n больше числа сторон света
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
вы со своими drop’ами нарушили изначальный контракт:
(rotate-right :north)
=> :east
не?
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
в контракте n - константа = 1
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
с чего бы
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
так что замените drop n на rest
источник

GA

Gleb Averchuk in Clojure — русскоговорящее сообщество
Sergey Trofimov
и не будет работать, если n больше числа сторон света
Ваш вариант на порядок круче, согласен. Но по своей неграмотности не был осведомлён про cycle.
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
n - сколько щелчков поворотного галетника сделать
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
функа rotate-right делает один щелчок за один вызов
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
у нас дженерик пурпоз
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
крути штурвал куда хочешь
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
но конечно надо мод от длины добавить
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Gleb Averchuk
Ваш вариант на порядок круче, согласен. Но по своей неграмотности не был осведомлён про cycle.
рекомендую, мега книжка https://www.manning.com/books/clojure-the-essential-reference
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
ну или Хаскелем побаловаться )
источник

GA

Gleb Averchuk in Clojure — русскоговорящее сообщество
Можно просто читать по вечерм clojure.core, рядом с камином, и делать зарубки на носу
источник

GA

Gleb Averchuk in Clojure — русскоговорящее сообщество
Но спасибо
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Gleb Averchuk
Можно просто читать по вечерм clojure.core, рядом с камином, и делать зарубки на носу
и главное перечитывать, при этом открываются новые глубины 😊
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Damir Farazetdinov
функа rotate-right делает один щелчок за один вызов
вот реализация изначального контракта на этих ваших коллекциях

(defn rotate-right2 [d]
 (first (drop-while #(= d % ) [:north :east :south :west :north])))
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
самому нифига не понятно, но работает
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Damir Farazetdinov
вот реализация изначального контракта на этих ваших коллекциях

(defn rotate-right2 [d]
 (first (drop-while #(= d % ) [:north :east :south :west :north])))
откуда там второй :north в коллекции взялся?
источник