補助手続き

プログラミングGaucheのP49より。

max-nという手続きを作成しその中でしかつかわない手続きならば、手続きの中に定義を書く事ができるらしい。

うれしい点

;; リストから最大値を表示する手続き
(define (max-num lis)
  ;; 大きい数値を返す手続き
  (define (pick-greater a b)
	(if (> a b) a b))
  (fold pick-greater -inf.0 lis))
(print (max-num '(4 3 5 2)))

なるほど。