Логотип ClojureScriptСправочник по ClojureScript

Основы

Числа

Литералы73.14-1.2e30x0000ff
Арифметика+-*/quotremmodincdecmaxmin
Сравнение===not=<><=>=compare
Приведение типовint
Проверкиzero?pos?neg?even?odd?number?integer?
Случайныеrandrand-int

" " Строки

Создание"abc"strname
Операции(.-length my-str)countgetsubs(clojure.string/)joinescapesplitsplit-linesreplacereplace-firstreverse
Регулярные выражения#"pattern"re-findre-seqre-matchesre-pattern(clojure.string/)replacereplace-first
Буквы(clojure.string/)capitalizelower-caseupper-case
Удаление пробелов(clojure.string/)trimtrim-newlinetrimltrimr
Проверкиcharstring?(clojure.string/)blank?

Атомы / Состояние

Созданиеatom
Получение значения@my-atom → (deref my-atom)
Изменение значенияswap!reset!compare-and-set!
Наблюдениеadd-watchremove-watch
Валидацияset-validator!get-validator

Взаимодействие с JavaScript

Создание объекта#js {}js-obj
Создание массива#js []arraymake-arrayaclone
Получение значения свойства
(.-innerHTML el)
(aget el "innerHTML")
Присваивание значения свойству
(set! (.-innerHTML el) "Hi!")
(aset el "innerHTML" "Hi!")
Удаление свойстваjs-delete
Преобразованиеclj->jsjs->clj
Проверки типовarray?fn?number?object?string?
Исключенияtrycatchfinallythrow
Внешняя библиотека
(js/alert "Hello world!")
(js/console.log my-obj)
(.html (js/jQuery "#myDiv") "Hi!")

Числа

Литералы73.14-1.2e30x0000ff
Арифметика+-*/quotremmodincdecmaxmin
Сравнение===not=<><=>=compare
Приведение типовint
Проверкиzero?pos?neg?even?odd?number?integer?
Случайныеrandrand-int

Взаимодействие с JavaScript

Создание объекта#js {}js-obj
Создание массива#js []arraymake-arrayaclone
Получение значения свойства
(.-innerHTML el)
(aget el "innerHTML")
Присваивание значения свойству
(set! (.-innerHTML el) "Hi!")
(aset el "innerHTML" "Hi!")
Удаление свойстваjs-delete
Преобразованиеclj->jsjs->clj
Проверки типовarray?fn?number?object?string?
Исключенияtrycatchfinallythrow
Внешняя библиотека
(js/alert "Hello world!")
(js/console.log my-obj)
(.html (js/jQuery "#myDiv") "Hi!")

#( ) Функции

Создание
#(...) → (fn [args] (...))
fndefndefn-identityconstantlycompcomplementpartialjuxtmemoizefnilevery-predsome-fn
Вызовapply->->>as->cond->cond->>some->some->>
Проверкиfn?ifn?

" " Строки

Создание"abc"strname
Операции(.-length my-str)countgetsubs(clojure.string/)joinescapesplitsplit-linesreplacereplace-firstreverse
Регулярные выражения#"pattern"re-findre-seqre-matchesre-pattern(clojure.string/)replacereplace-first
Буквы(clojure.string/)capitalizelower-caseupper-case
Удаление пробелов(clojure.string/)trimtrim-newlinetrimltrimr
Проверкиcharstring?(clojure.string/)blank?

Атомы / Состояние

Созданиеatom
Получение значения@my-atom → (deref my-atom)
Изменение значенияswap!reset!compare-and-set!
Наблюдениеadd-watchremove-watch
Валидацияset-validator!get-validator

Коллекции

Коллекции

Базовые операцииcountemptynot-emptyintoconj
Проверки содержимогоdistinct?empty?every?not-every?somenot-any?
Проверки возможностейsequential?associative?sorted?counted?reversible?
Проверки типовcoll?list?vector?set?map?seq?

( ) Списки

Создание'()listlist*
Получение значенийfirstnthpeek
'Изменение'consconjrestpop

[ ] Векторы

Создание[]vectorvec
Получение значений
(my-vec idx) → (nth my-vec idx)
getpeek
'Изменение'assocpopsubvecreplaceconjrseq
Итерированиеmapvfiltervreduce-kv

#{ } Множества

Создание#{}sethash-setsorted-setsorted-set-by
Получение значений
(my-set itm) → (get my-set itm)
contains?
'Изменение'conjdisj
Операции(clojure.set/)uniondifferenceintersectionselect
Проверки(clojure.set/)subset?superset?

{ } Словари

Создание
{:key1 "a" :key2 "b"}
hash-maparray-mapzipmapsorted-mapsorted-map-byfrequenciesgroup-by
Получение значений
(:key my-map) → (get my-map :key)
get-incontains?findkeysvals
'Изменение'assocassoc-indissocmergemerge-withselect-keysupdate-in
Записиkeyval
Упорядоченные словариrseqsubseqrsubseq

Коллекции

Базовые операцииcountemptynot-emptyintoconj
Проверки содержимогоdistinct?empty?every?not-every?somenot-any?
Проверки возможностейsequential?associative?sorted?counted?reversible?
Проверки типовcoll?list?vector?set?map?seq?

( ) Списки

Создание'()listlist*
Получение значенийfirstnthpeek
'Изменение'consconjrestpop

{ } Словари

Создание
{:key1 "a" :key2 "b"}
hash-maparray-mapzipmapsorted-mapsorted-map-byfrequenciesgroup-by
Получение значений
(:key my-map) → (get my-map :key)
get-incontains?findkeysvals
'Изменение'assocassoc-indissocmergemerge-withselect-keysupdate-in
Записиkeyval
Упорядоченные словариrseqsubseqrsubseq

[ ] Векторы

Создание[]vectorvec
Получение значений
(my-vec idx) → (nth my-vec idx)
getpeek
'Изменение'assocpopsubvecreplaceconjrseq
Итерированиеmapvfiltervreduce-kv

#{ } Множества

Создание#{}sethash-setsorted-setsorted-set-by
Получение значений
(my-set itm) → (get my-set itm)
contains?
'Изменение'conjdisj
Операции(clojure.set/)uniondifferenceintersectionselect
Проверки(clojure.set/)subset?superset?

Последовательности

Операции принимающие и возвращающие последовательности

Убавлениеdistinctfilterremovetake-nthfor
Прибавленееconsconjconcatlazy-catmapcatcycleinterleaveinterpose
Получение от концаrestnthrestnextfnextnnextdropdrop-whiletake-lastfor
Получение от началаtaketake-whilebutlastdrop-lastfor
'Изменение'conjconcatdistinctflattengroup-bypartitionpartition-allpartition-bysplit-atsplit-withfilterremovereplaceshuffle
Изменение порядкаreversesortsort-bycompare
Итерированиеmapmap-indexedmapcatforreplace

Использование последовательснотей

Получение значенияfirstsecondlastrestnextffirstnfirstfnextnnextnthnthnextrand-nthwhen-firstmax-keymin-key
Создание коллекцийzipmapintoreducereductionssetvecinto-arrayto-array-2d
Передеча аргументов в функциюapply
Поискsomefilter
Принудительное выполнениеdoseqdorundoall
Проверка на принудительное выполнениеrealized?

Создание последовательностей

Из коллекцииseqvalskeysrseqsubseqrsubseq
Создающие функцииlazy-seqrepeatedlyiterate
Из постоянныхrepeatrange
Из другогоre-seqtree-seq
Из последовательностейkeepkeep-indexed

Операции принимающие и возвращающие последовательности

Убавлениеdistinctfilterremovetake-nthfor
Прибавленееconsconjconcatlazy-catmapcatcycleinterleaveinterpose
Получение от концаrestnthrestnextfnextnnextdropdrop-whiletake-lastfor
Получение от началаtaketake-whilebutlastdrop-lastfor
'Изменение'conjconcatdistinctflattengroup-bypartitionpartition-allpartition-bysplit-atsplit-withfilterremovereplaceshuffle
Изменение порядкаreversesortsort-bycompare
Итерированиеmapmap-indexedmapcatforreplace

Использование последовательснотей

Получение значенияfirstsecondlastrestnextffirstnfirstfnextnnextnthnthnextrand-nthwhen-firstmax-keymin-key
Создание коллекцийzipmapintoreducereductionssetvecinto-arrayto-array-2d
Передеча аргументов в функциюapply
Поискsomefilter
Принудительное выполнениеdoseqdorundoall
Проверка на принудительное выполнениеrealized?

Создание последовательностей

Из коллекцииseqvalskeysrseqsubseqrsubseq
Создающие функцииlazy-seqrepeatedlyiterate
Из постоянныхrepeatrange
Из другогоre-seqtree-seq
Из последовательностейkeepkeep-indexed

Разное