Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 

49 rindas
1.1 KiB

  1. (import "alist.slime")
  2. (define a (make-alist))
  3. ;; a == ()
  4. (assert (= (first a) ()))
  5. (alist-set! a 'key1 'value1)
  6. ;; a == (key1: value1)
  7. (assert (= (alist-get a 'key1) 'value1))
  8. (assert (alist-key-exists? a 'key1))
  9. (assert (not (alist-key-exists? a 'key2)))
  10. (alist-set! a 'key2 'value2)
  11. ;; a == (key2: value2,
  12. ;; key1: value1)
  13. (assert (= (alist-get a 'key2) 'value2))
  14. (assert (alist-key-exists? a 'key2))
  15. (assert (= (alist-find a 'key2) 0))
  16. (assert (= (alist-find a 'key1) 1))
  17. (assert (= (length (first a)) 2))
  18. (alist-set! a 'key1 'value3)
  19. ;; a == (key1: value3,
  20. ;; key2: value2,
  21. ;; key1: value1)
  22. (assert (= (length (first a)) 3))
  23. (assert (= (alist-get a 'key1) 'value3))
  24. (alist-set-overwrite! a 'key1 'value4)
  25. ;; a == (key1: value4,
  26. ;; key2: value2,
  27. ;; key1: value1)
  28. (assert (= (length (first a)) 3))
  29. (assert (= (alist-get a 'key1) 'value4))
  30. (alist-remove! a 'key1)
  31. ;; a == (key2: value2,
  32. ;; key1: value1)
  33. (assert (= (length (first a)) 2))
  34. (assert (= (alist-get a 'key1) 'value1))
  35. (assert (= (alist-get a 'key2) 'value2))