Lisp Scheme Part40at TECHLisp Scheme Part40 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト1029:デフォルトの名無しさん 18/07/12 12:25:48.63 l643qOMO.net >>975 なるほど、first側にatomかpairかの 1030:フラグを入れて、実際のリストの構造はsecond側に入れればいいのか。 ありがとう、この線でやってみる。 1031:デフォルトの名無しさん 18/07/12 13:13:34.80 QKPLqpS1.net mapcarしてremove-if #'nullするのと、 mapcan使うのとどっちがおすすめなん。 1032:デフォルトの名無しさん 18/07/12 17:19:27.72 eSxWwMsY.net >>987 filter 的な話?こういう (mapcan #'(lambda (x) (and (numberp x) (list x))) '(a 1 b c 3 4 d 5)) => (1 3 4 5) 上の例は CLHS からの引用だけど (http://www.lispworks.com/documentation/HyperSpec/Body/f_mapc_.htm) そこで 「mapcan を使った idiom」とか言ってるから、 mapcan でいいんじゃないの。 1033:デフォルトの名無しさん 18/07/12 18:20:07.59 eSxWwMsY.net >>982 :key を持つのは sequence か cons を扱う関数/マクロだけみたい。 max は数を扱う関数だから :key がない、くらいの理由なのではと予想。 で、僕だったらそういう状況は loop ~ maximize で書いちゃうな: (loop with list = '((1 a) (100 b) (5 c)) for i in list maximize (car i)) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch