xyzzyの使い方が分からぬやし 励ましあえ その10at SOFTWARE
xyzzyの使い方が分からぬやし 励ましあえ その10 - 暇つぶし2ch746:名無しさん@お腹いっぱい。
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