Pertanyaan yang diberi tag «lexical-scoping»



3
Defun di dalam biarkan dengan lexical binding memberikan byte-compile warning "fungsi tidak diketahui didefinisikan"
Saya ingin mendapatkan efek dari variabel statis dengan menggunakan defunbagian dalam letdengan pengikatan leksikal untuk membuat penutupan. Namun, saat byte-compile file, saya mendapat peringatan. Apakah saya melakukan sesuatu yang salah, atau jika tidak, adakah cara untuk menekan peringatan ini? Saya telah membuat MCVE: ;; -*- lexical-binding: t -*- (let ((count …

1
Apa potensi jebakan yang memungkinkan pengikatan leksikal untuk buffer?
Ini terinspirasi oleh diskusi tentang lexical-binding vs lexical-let dalam pertanyaan ini . Karena lexical-binding memberi Anda kemampuan untuk memiliki penutupan yang bermanfaat yang dapat digunakan orang dalam bahasa lain seperti JavaScript mengapa Anda tidak mengaktifkannya sepanjang waktu? Dengan asumsi kompatibilitas ke belakang dengan Emacsen yang lebih lama bukan masalah jebakan …

1
Berurusan dengan "Peringatan: penugasan ke variabel bebas" ketika perpustakaan tertentu bisa hilang dengan desain
Kompilasi byte mode saya: (defun dict-setup-expansions () "Add `dict-mode' specific expansions." (set (make-local-variable 'er/try-expand-list) (list #'dict-mark-article))) memberi peringatan: Warning: assignment to free variable `er/try-expand-list' Ini adalah situasi yang normal karena er/try-expand-listdidefinisikan dalam externa; perpustakaan expand-regionyang ada di http://elpa.gnu.org Mode saya mendaftar ekstensi ke expand-regionperpustakaan tetapi tidak apa-apa untuk menjalankan mode …

1
Bagaimana penentuan variabel variabel untuk makro?
Ambil contoh makro berikut, didefinisikan dalam macro.el. (defmacro some-macro (&rest body) `(let ((some-variable 1)) ,@body)) Dan mengambil fungsi berikut, didefinisikan dalam file yang berbeda , function.el. (defun some-function () (some-macro (do-something))) Kapan function.elbyte-dikompilasi, apakah some-variableakan terikat di bawah lexical atau dynamic binding? Saya mengerti ini tergantung pada apakah file digunakan …

3
Mengapa defvar scoping bekerja secara berbeda tanpa initvalue?
Misalkan saya memiliki file bernama elisp-defvar-test.elmengandung: ;;; elisp-defvar-test.el --- -*- lexical-binding: t -*- (defvar my-dynamic-var) (defun f1 (x) "Should return X." (let ((my-dynamic-var x)) (f2))) (defun f2 () "Returns the current value of `my-dynamic-var'." my-dynamic-var) (provide 'elisp-dynamic-test) ;;; elisp-defvar-test.el ends here Saya memuat file ini dan kemudian pergi ke buffer …

2
'Nilai simbol sebagai variabel tidak valid' dalam panggilan balik dari url-ambil
Saat menjalankan yang berikut ini saya mendapatkan kesalahan: (defun caller (func) (url-retrieve "http://m0smith.freeshell.org/" (lambda (status) (funcall func)))) (caller (lambda() (message "called"))) Hasil: error in process filter: Symbol's value as variable is void: func Apa cara terbaik untuk mengatasi masalah ini? Pada dasarnya saya perlu menerima panggilan balik dari tempat lain, …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.