ban luyen

Clojure

lo trinh thuc hanh de hoc Clojure tu con so 0

dinh nghia truoc

Clojure la gi

Clojure dung de viet chi dan chinh xac. O day ban hoc theo lo trinh thuc hanh de hoc Clojure tu con so 0. Hay bat dau voi mot mo hinh: dau vao qua cac buoc roi thanh dau ra.

thong tin chay toi thieutep main.cljchay clojure -M main.cljthoi quen hoc mot phan nho cua Clojure, go vi du toi thieu roi chay
chuong trinh

tap hop lenh duoc chay theo thu tu.

gia tri va bien

gia tri la du lieu. bien la ten de giu du lieu.

ham

mot viec nho co ten, nhan dau vao va tao ket qua.

moi truong

Clojure CLI chay code trong main.clj.

doan code dau tien

dau ra chuong trinh

entry point output syntax println
(println 42)
dau ra 42

pha he ngon ngu

cay pha he Clojure

xem Clojure den tu dau, gan voi ngon ngu nao, va nen hoc gi tiep.

goc
LispSchemeJava
hien taiClojureho ham va logic
ho ngon nguho ham va logic
phu hop cho

phu hop cho lo trinh thuc hanh de hoc Clojure tu con so 0

tu con so 0

1doc mot quy tac2doan dau ra3go bang tri nho4chay kiem tra5lap lai voi mot thay doi

Ngan hang cau hoi

Tim truoc khi luyen

Chon giai doan hoac tim trong ngan hang cua ngon ngu nay roi mo bai tap.

18 ket qua
Q 1Lua chonGiai doan 1 dinh nghia

Clojure cau 1

Clojure cau 1. Chon mo ta phu hop nhat voi in mot gia tri.

Q 2Lua chonGiai doan 1 dinh nghia

Clojure cau 2

Clojure cau 2. Chon mo ta phu hop nhat voi dat ten cho gia tri.

Q 3Lua chonGiai doan 1 dinh nghia

Clojure cau 3

Clojure cau 3. Chon mo ta phu hop nhat voi ham tai su dung.

Q 4Lua chonGiai doan 1 dinh nghia

Clojure cau 4

Clojure cau 4. Chon mo ta phu hop nhat voi tap hop co ban.

Q 5Lua chonGiai doan 1 dinh nghia

Clojure cau 5

Clojure cau 5. Chon mo ta phu hop nhat voi in mot gia tri.

Q 6Lua chonGiai doan 1 dinh nghia

Clojure cau 6

Clojure cau 6. Chon mo ta phu hop nhat voi dat ten cho gia tri.

Q 7Lua chonGiai doan 1 dinh nghia

Clojure cau 7

Clojure cau 7. Chon mo ta phu hop nhat voi ham tai su dung.

Q 8Lua chonGiai doan 1 dinh nghia

Clojure cau 8

Clojure cau 8. Chon mo ta phu hop nhat voi tap hop co ban.

Q 9Lua chonGiai doan 1 dinh nghia

Clojure cau 9

Clojure cau 9. Chon mo ta phu hop nhat voi in mot gia tri.

Q 10Lua chonGiai doan 1 dinh nghia

Clojure cau 10

Clojure cau 10. Chon mo ta phu hop nhat voi dat ten cho gia tri.

Q 11Lua chonGiai doan 1 dinh nghia

Clojure cau 11

Clojure cau 11. Chon mo ta phu hop nhat voi ham tai su dung.

Q 12Lua chonGiai doan 1 dinh nghia

Clojure cau 12

Clojure cau 12. Chon mo ta phu hop nhat voi tap hop co ban.

Q 13Lua chonGiai doan 1 dinh nghia

Clojure cau 13

Clojure cau 13. Chon mo ta phu hop nhat voi in mot gia tri.

Q 14Lua chonGiai doan 1 dinh nghia

Clojure cau 14

Clojure cau 14. Chon mo ta phu hop nhat voi dat ten cho gia tri.

Q 15Lua chonGiai doan 1 dinh nghia

Clojure cau 15

Clojure cau 15. Chon mo ta phu hop nhat voi ham tai su dung.

Q 16Lua chonGiai doan 1 dinh nghia

Clojure cau 16

Clojure cau 16. Chon mo ta phu hop nhat voi tap hop co ban.

Q 17Lua chonGiai doan 1 dinh nghia

Clojure cau 17

Clojure cau 17. Chon mo ta phu hop nhat voi in mot gia tri.

Q 18Lua chonGiai doan 1 dinh nghia

Clojure cau 18

Clojure cau 18. Chon mo ta phu hop nhat voi dat ten cho gia tri.

trac nghiem

Clojure cau 1

Q 1Lua chonmoi

Clojure cau 1. Chon mo ta phu hop nhat voi in mot gia tri.

(println 42)

tham khao

mau cho main.clj

Clojure CLIclojure -M main.clj
nho laidoc mot y nho roi viet lai ma khong nhin
lan theo codeghi gia tri bien tung dong truoc khi chay
tu goit copy hon go nhieu hon va sua mot loi nho

entry point output syntax println

dau ra chuong trinh

(println 42)
  • Run the smallest file first
  • Print one known value
  • Check the output before adding more code

variables assignment types def

gia tri va ten

(def total 42)
(println total)
  • Give values readable names
  • Keep one idea per line while learning
  • Trace the value before changing it

function collection Vector

ham va tap hop

(defn add [a b]
  (+ a b))

(def scores [40 2])
(println (count scores))
  • Keep functions small
  • Return useful values
  • Use the common collection before reaching for frameworks