2009/02/10

[scheme][Gauche]list-ref+追記

 

指定した位置にある要素を取得する。

(list-ref '(1 2 3 4 5) 3)
;; => 4

 

(list-ref '(1 3 4 5 6) 0)
;; => 1

 

Gaucheプログラミング(立読み版)

プログラミングとは名前付け(bind)である

 

タイトルの「プログラミングとは名前付け(bind)である」って、名言だな。

 

追記:

プログラミングとは名前付け(bind)である」のページのweekday-name手続きを自分なりに書いてみた。

(define (weekday-name index)
  (let ((day-names '("月" "火" "水" "木" "金" "土" "日"))
          (between (lambda (min n max)
                               (and (<= min n)(<= n max)))))
    (if (between 0 index 6)
        (list-ref day-names index))))


(weekday-name 0)
;; => "月"
(weekday-name -1)
;; => #<undef>
(weekday-name 7)
;; => #<undef>
(weekday-name 6)
;; => "日"

 

 

自分なりにって言っても範囲判定の部分をbetweenにして、範囲外はそのまま#<undef>が返るだけだけど。

0 件のコメント:

コメントを投稿