5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Lisp Scheme Part36

883 :デフォルトの名無しさん:2013/08/18(日) NY:AN:NY.AN
CLHS: Macro DEFPARAMETER, DEFVAR
www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/mac_defparametercm_defvar.html
を読んだら分かりました。

(defparameter *cont* #'1+)

(defun test (*cont* x)
(print *cont*)
(let ((*cont* (lambda (x) (funcall *cont* (progn (sleep 1) (* 2 (print x)))))))
(funcall *cont* x)))

(test *cont* 5)

特別扱いされて、スコープがダイナミックになるんですね。
(test *cont* 5)はマクロ展開後に現れるので、
defparameterがダメとなるとletで囲むなりしないと警告を消せないなぁ。

226 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)