Xah Talk Show 2025-03-17 Ep628 emacs lisp, pcase pattern matching, destructure

xah talk show 2025-03-17 20f1d
xah talk show 2025-03-17 20f1d
(pcase x
  (3 3)
  (4 4)
  ("t" "string"))

(pcase (list 3 4)
  (3 3)
  (4 (message "got num"))
  ('(3 4) (message "got list"))
  ("t" "string"))
;; "got list"

(pcase 9
  (3 3)
  (4 (message "got num"))
  ('(3 4) (message "got list"))
  ("t" (message "got string"))
  (_ (message "got wildcard")))
;; "got wildcard"

;; pattern match in order
(pcase 4
  (_ (message "got wildcard"))
  (3 3)
  (4 (message "got num"))
  ('(3 4) (message "got list"))
  ("t" (message "got string")))
;; "got wildcard"