前提・実現したいこと
関数fを引数として渡して、('a * 'b) listであるaのリストの要素一つ一つのタプルに関数を適用させたいのですが、List.mapの使い方がよく分かりません。下記の例だと、[11;18]が出力されるようにしたいです。
発生している問題・エラーメッセージ
OCaml
1# let a=[(1,3);(3,4)];; 2val a : (int * int) list = [(1, 3); (3, 4)] 3# let f (a,b)=2*a+3*b;; 4val f : int * int -> int = <fun> 5# let kansu func =List.map((fun x->func x) a);; 6val kansu : ((int * int) list -> 'a -> 'b) -> 'a list -> 'b list = <fun> 7# kansu f;; 8Error: This expression has type int * int -> int 9 but an expression was expected of type (int * int) list -> 'a -> 'b 10 Type int * int is not compatible with type (int * int) list 11 12
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/03 07:51