teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

解説

2020/06/03 07:29

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -10,4 +10,8 @@
10
10
 
11
11
  (*又は単純に*)
12
12
  (*let result = List.map f a*)
13
- ```
13
+ ```
14
+
15
+ `List.map((fun x->func x) a)`と書いちゃうと
16
+
17
+ 「`fun x->func x` に `a` を適用したもの」を`List.map`に渡していることになってしまいます。

2

修正

2020/06/03 07:29

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -1,15 +1,13 @@
1
- ```Ocaml
2
- let a = [(1,3);(3,4)]
3
- let f (a,b) = 2*a+3*b
4
-
5
- let result = List.map f a
6
- ```
7
-
8
- 元のコードの雰囲気を残すと
9
-
10
1
  ```OCaml
11
2
  let a=[(1,3);(3,4)]
12
3
  let f (a,b)=2*a+3*b
4
+
13
- let kansu func = List.map (fun x -> func x) a (* カッコが余計だった *)
5
+ let kansu func = List.map (fun x -> func x) a (* カッコが余計だった*)
6
+ (* というかこれでいい *)
7
+ (* let kansu func = List.map func a *)
8
+
14
9
  let result = kansu f
10
+
11
+ (*又は単純に*)
12
+ (*let result = List.map f a*)
15
13
  ```

1

追記

2020/06/03 07:23

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -3,4 +3,13 @@
3
3
  let f (a,b) = 2*a+3*b
4
4
 
5
5
  let result = List.map f a
6
+ ```
7
+
8
+ 元のコードの雰囲気を残すと
9
+
10
+ ```OCaml
11
+ let a=[(1,3);(3,4)]
12
+ let f (a,b)=2*a+3*b
13
+ let kansu func = List.map (fun x -> func x) a (* カッコが余計だった *)
14
+ let result = kansu f
6
15
  ```