2010/09/27

Re: comp.lang.scheme で簡単なリスト操作のお題が出ておるな。

comp.lang.scheme で簡単なリスト操作のお題が出ておるな。 http://goo.gl/5GAm
ということで、やってみました。Scheme(Gauche)です。

以下コード。


追記

教えて頂きました!いつもありがとうございます!
@valvallow (use gauche.sequence)(use srfi-1)(define(key-sorted-combine lst)(map(pa$ append-map cdr)(group-collection lst :key car)))
(use gauche.sequence)
(use srfi-1)
(define (key-sorted-combine lst)
  (map (pa$ append-map cdr)
       (group-collection lst :key car)))

(define data
  '((0 a b) (1 c d) (2 e f) (3 g h) (1 i j)
    (2 k l) (4 m n) (2 o p) (4 q r) (5 s t)))

(key-sorted-combine data)
;; ((a b) (c d i j) (e f k l o p) (g h) (m n q r) (s t))
group-collection 要チェックや!

そういえば、以前 group-sequence は見た記憶が。。

The Little Schemer, 4th Edition

0 件のコメント:

コメントを投稿