xyzzyの使い方が分からぬやし 励ましあえ その10 at SOFTWARE
[2ch|▼Menu]
746:名無しさん@お腹いっぱい。
07/07/16 22:11:43 hWtkID9N0
>>744
やってみた

(in-package "lisp")
(defmacro defvar-lexical (name &optional (initial-value nil sv) doc)
  `(progn
     ,(if doc
          `(si:*putprop ',name ,doc 'variable-documentation))
     ,(if sv
          `(or (boundp ',name)
               (set ',name ,initial-value)))
     ',name))
(export 'defvar-lexical)
(in-package "user")

;; テスト
(defvar-lexical hoge 0 "hogehoge")
(defun get-hoge () hoge)
(defun hogetest (x) (let ((hoge x)) (get-hoge)))
(defvar fuga 0)
(defun get-fuga () fuga)
(defun fugatest (x) (let ((fuga x)) (get-fuga)))

(hogetest 2)
=> 0
(fugatest 2)
=> 2
(documentation 'hoge 'variable)
=> "hogehoge"


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4980日前に更新/235 KB
担当:undef