2007-11-04 consp LISP とあるコードを見ていて,「リストの終わりじゃなきゃXXをする」と書くべきところに (if (consp lst) ~ ~) と書かれていた。 一瞬なんで?と思ったけど,nilを渡すとnilが返るからですね。 なるほどー。 普通は (if (not (endp lst)) ~ ~) とかって書くもんな。 可読性は下がるかもしれないけど,こういう使い方もあるのですね。 ちなみにlistpはnilを渡してもtが返るので予期せぬぱっぱらぱーな動作に!