1
ทำไม setq และ set quote ทำหน้าที่แตกต่างกันของตัวแปรที่มีขอบเขตเป็นขอบเขต
ฉันมีข้อผิดพลาดในหนึ่งในส่วนขยายของฉันซึ่งในที่สุดก็กลายเป็นว่าเกิดจากการsetไม่ทำงานตามที่ฉันคาดไว้: ;; -*- lexical-binding: t -*- (let ((a nil)) (setq a t) (print a)) (let ((a nil)) (set 'a t) (print a)) เมื่อทำงานกับงานemacs -Q --batch -l temp.elพิมพ์: t nil ดูเหมือนว่าฉันจะแปลกมาก ผมก็รู้สึกว่าเป็นชวเลข(setq a b) (set 'a b)เกิดอะไรขึ้น?