回答編集履歴

3

解説

2020/06/03 07:29

投稿

ozwk
ozwk

スコア13551

test CHANGED
@@ -23,3 +23,11 @@
23
23
  (*let result = List.map f a*)
24
24
 
25
25
  ```
26
+
27
+
28
+
29
+ `List.map((fun x->func x) a)`と書いちゃうと
30
+
31
+
32
+
33
+ 「`fun x->func x` に `a` を適用したもの」を`List.map`に渡していることになってしまいます。

2

修正

2020/06/03 07:29

投稿

ozwk
ozwk

スコア13551

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

1

追記

2020/06/03 07:23

投稿

ozwk
ozwk

スコア13551

test CHANGED
@@ -9,3 +9,21 @@
9
9
  let result = List.map f a
10
10
 
11
11
  ```
12
+
13
+
14
+
15
+ 元のコードの雰囲気を残すと
16
+
17
+
18
+
19
+ ```OCaml
20
+
21
+ let a=[(1,3);(3,4)]
22
+
23
+ let f (a,b)=2*a+3*b
24
+
25
+ let kansu func = List.map (fun x -> func x) a (* カッコが余計だった *)
26
+
27
+ let result = kansu f
28
+
29
+ ```