Objective Camlを使ってみたよ!
問3はわからなかった!
let rec map f ls = match ls with hd::tl -> f hd (map f tl) | [] -> 0 in let plus x y= x + y in let rec iter f n ls= match ls with hd::tl -> (iter f (f n hd) tl) | _ -> n in let biggest ls= match ls with hd::tl -> iter (fun x y -> if x > y then x else y) hd tl | _ -> assert false in print_int(map plus [1; 4; 5]); print_int(biggest [1; 4; 32; 523; 453; 23;])
あくまで自分でこう答えるという話。 (問1) (define fold-left (lambda (func obj lst) (cond ((null? lst) obj) (else (fold-left func (func obj (car lst)) (cdr lst))))))(define ...
いくつか考えてみた (問1)高階関数と再帰関数を必ず使って数値を要素とするリストの要素の総和を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同...
Objective Camlを使ってみたよ! 問3はわからなかった! let rec map f ls = match ls with hd::tl -> f hd (map f tl) | [] -> 0inlet plus x y= x + yinlet rec iter f n ls= match ls with hd::tl -> (iter f (f n hd) tl) | _ -> n...