[Gauche-devel-jp] お知恵を拝借

Back to archive index

Shiro Kawai shiro****@lava*****
2003年 10月 17日 (金) 18:22:43 JST


http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme:リスト処理
の、「逆mapl」のあたりが関係するような気がします。
("breadcrumb"というのは初めて聞きました)

で、ちょっと書いてみたんですが、最初の"/"だけ特別扱いしなくちゃ
ならないみたいです。APIを変えればなんとかなるかな。
下のコードは常にdirsが ("/" ...) であることを仮定しています。


(use srfi-1)
(use text.html-lite)
(use text.tree)

(define (breadcrumb dirs)
  (cons (html:a :href "hoge.cgi?dir=/" "/")
        (pair-fold (lambda (l knil)
                     (cons* (html:a :href (string-append "hoge.cgi?dir="
                                                         (string-join (reverse l) "/" 'prefix))
                             (car l))
                            " / "
                            knil))
                   '()
                   (reverse (cdr dirs)))))

(write-tree (breadcrumb '("/" "foo" "bar" "baz")))




Gauche-devel-jp メーリングリストの案内
Back to archive index