CLでnilとunspecifiedを見分ける方法

1 view
Skip to first unread message

Ryohei Ueda

unread,
Dec 6, 2010, 7:34:07 AM12/6/10
to clap-...@googlegroups.com
garaemonです

とても具体的なCLの質問なのですが,
(defun hoge (&optional arg)
...)
というときに, (hoge)と(hoge nil)を見分ける方法としてはどういう方法があるのでしょうか?

(let ((initial (gensym))
`(defun hoge (&optional (arg ,initial))
...))
みたいにgensymを利用するのでしょうか?

-- ryohei

SANO Masatoshi

unread,
Dec 6, 2010, 7:42:59 AM12/6/10
to clap-...@googlegroups.com
佐野です。

たしかこんな感じ

(defun f (&optional (x nil supplied-p))
(list x supplied-p))


2010/12/6 Ryohei Ueda <ue...@jsk.t.u-tokyo.ac.jp>:

--
佐野匡俊(SANO Masatoshi)
snm...@gmail.com

Ryohei Ueda

unread,
Dec 6, 2010, 7:46:18 AM12/6/10
to clap-...@googlegroups.com
おお, なるほど. ありがとうございます

逆引きCLに書こうと思いますが, どこがいいんでしょうか?

-- ryohei

2010/12/6 SANO Masatoshi <snm...@gmail.com>:

CHIBA Masaomi

unread,
Dec 6, 2010, 8:40:02 AM12/6/10
to clap-...@googlegroups.com
> 逆引きCLに書こうと思いますが, どこがいいんでしょうか?

おお!ありがとうございます。

あえてみつけられやすそうな場所を選ぶとすれば、関数ですかねー。
http://tips.lisp-users.org/common-lisp/index.cgi?%E9%96%A2%E6%95%B0

でも、lamdbdaリストを扱うところ全般ではあるんですよね、
destructuring-bindとか、defmacroとか…

2010/12/6 Ryohei Ueda <gara...@gmail.com>:

Ryohei Ueda

unread,
Dec 6, 2010, 10:46:58 AM12/6/10
to clap-...@googlegroups.com
> あえてみつけられやすそうな場所を選ぶとすれば、関数ですかねー。
> http://tips.lisp-users.org/common-lisp/index.cgi?%E9%96%A2%E6%95%B0
追加してみましたー

こんな感じで, このMLで質問して, 逆引きCLへみたいな流れができたらいいなぁと
思ってます

-- ryohei

2010/12/6 CHIBA Masaomi <chiba....@gmail.com>:

CHIBA Masaomi

unread,
Dec 6, 2010, 6:10:03 PM12/6/10
to clap-...@googlegroups.com
g000001です。
なるほど、自分もなにかあったら積極的に書いていきます

2010/12/7 Ryohei Ueda <gara...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages