Size: a a a

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

2020 March 23

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Special K
Есть ли возможность средствами самого языка работать с command-line аргументами как с вектором, не делая из них вектор вручную?
Типа при -main [& args] сделать что-то типа (get args 0)
и в args тут нет ничего магического, это обычный ситаксис для определения функии
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
и обычная последовательность строк
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
т.к. можно и просто -main [arg1 arg2] определить
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Special K
И ещё вопрос, я случайно опустила get в (get vector index) и выражение оказалось всё равно валидным. Можно ли так делать на постоянной основе или это моветон?
можно, если точно известно, что это вектор и не nil
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
> зачем вручную?
если ради одного аргумента, то можно так накостылить
источник
2020 March 24

S

Special K in Clojure — русскоговорящее сообщество
Да, я пока поставила задачу научиться делать элементарные операции с параметрами в рамках хеллоу-ворлда и только потом дальше двигаться во что-то более серьёзное
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Special K
И ещё вопрос, я случайно опустила get в (get vector index) и выражение оказалось всё равно валидным. Можно ли так делать на постоянной основе или это моветон?
Обычно get используют когда index неизвестен и может понадобиться default
источник

S

Special K in Clojure — русскоговорящее сообщество
Anton Chikin
Обычно get используют когда index неизвестен и может понадобиться default
Поняла, как в lodash.get или Proxy
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Special K
Поняла, как в lodash.get или Proxy
(def mymap {:id 1 :name “Anton”}) (:id mymap) - вот так ок
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
(def mykey :id) (get mymap mykey) - а когда ключ или индекс точно неизвестен то лучше get
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Лучше, потому что иначе хочется давать по рукам за (x y).

user=> ({:a 2 :b 1} :a)
2
user=> (:a {:a 2 :b 1})
2
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Всё-таки код пишут для чтения, а выдавать сбинженую мапу или ключ за функцию помогает чтению в редких случаях.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Особенно когда биндинг произошёл выше по коду.
(let [a :a
     b 1
     c 2
     d 3
     x {:a 1 :b 2}
     y 4
     z 5]
 (x a))
источник

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
Никто не знает, есть ли обратная операция к этому?

https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-destructure-keys
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
врядли
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
и врядли будет
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Недавно жаловались что cljr подзаброшен
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
а вроде бы что-то из cljr переносили то ли в сидр то ли в clojure-mode, или я путаю?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
а вроде бы что-то из cljr переносили то ли в сидр то ли в clojure-mode, или я путаю?
Ну план таков чтобы все перенести
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Но чесговоря надо признать что REPL по сравнению со статическими анализаторами хромает
источник