質問編集履歴

5

誤りに気付いたため一部削除

2018/02/10 07:44

投稿

MasakiHori
MasakiHori

スコア3384

test CHANGED
File without changes
test CHANGED
@@ -18,17 +18,13 @@
18
18
 
19
19
 
20
20
 
21
- ######1. なぜ以下の定義ではないのか
21
+ ######1. ~~なぜ以下の定義ではないのか~~
22
22
 
23
- ```swift
23
+ ~~enum Result<Value, Error> { … }~~~
24
24
 
25
- enum Result<Value, Error> { ... }
25
+ ~~`Error: Swift.Error`とせずとも単に`Error`とするだけで全く同じことになると思うのですが、
26
26
 
27
- ```
28
-
29
- `Error: Swift.Error`とせずとも単に`Error`とするだけで全く同じことになると思うのですが、
30
-
31
- なぜ`Error: Swift.Error`としているのでしょか?
27
+ なぜ`Error: Swift.Error`としているのでしょか?~~
32
28
 
33
29
 
34
30
 
@@ -62,9 +58,9 @@
62
58
 
63
59
  Swiftには標準でErrorという型があります。
64
60
 
65
- そのため
61
+ ~~そのため~~
66
62
 
67
- ```swift
63
+ ~~
68
64
 
69
65
  enum Result<Value, Error: Swift.Error> { // ErrorはSwift.Errorに制限される。
70
66
 
@@ -74,11 +70,11 @@
74
70
 
75
71
  }
76
72
 
77
- ```
73
+ ~~
78
74
 
79
- としても
75
+ ~~としても~~
80
76
 
81
- ```swift
77
+ ~~
82
78
 
83
79
  enum Result<Value, Error> { // ErrorはSwift.Errorそのもの。
84
80
 
@@ -88,9 +84,9 @@
88
84
 
89
85
  }
90
86
 
91
- ```
87
+ ~~
92
88
 
93
- としてもほとんど違いはなく、また
89
+ ~~としてもほとんど違いはなく、また~~
94
90
 
95
91
  ```swift
96
92
 

4

ちょい修正

2018/02/10 07:44

投稿

MasakiHori
MasakiHori

スコア3384

test CHANGED
File without changes
test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  ```swift
68
68
 
69
- enum Result<Value, Error: Swift.Error> { // ErrorはSwift.Errorに準拠してい必要がある
69
+ enum Result<Value, Error: Swift.Error> { // ErrorはSwift.Errorに制限され
70
70
 
71
71
  case value(Value)
72
72
 

3

ついき

2018/02/10 07:40

投稿

MasakiHori
MasakiHori

スコア3384

test CHANGED
File without changes
test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
  case value(Value)
100
100
 
101
- case error(Error) // Swift.Errorに準拠し必要がある
101
+ case error(Error) // 型パラメータを持たずともError型を持てる
102
102
 
103
103
  }
104
104
 

2

ついき

2018/02/10 07:33

投稿

MasakiHori
MasakiHori

スコア3384

test CHANGED
File without changes
test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
  ```swift
82
82
 
83
- enum Result<Value, Error> { // ErrorはSwift.Errorに準拠している必要がある
83
+ enum Result<Value, Error> { // ErrorはSwift.Errorそのもの。
84
84
 
85
85
  case value(Value)
86
86
 

1

SwiftでのErrorについて

2018/02/10 07:31

投稿

MasakiHori
MasakiHori

スコア3384

test CHANGED
File without changes
test CHANGED
@@ -51,3 +51,57 @@
51
51
 
52
52
 
53
53
  以上、よろしくお願いします
54
+
55
+
56
+
57
+ ----
58
+
59
+ 追記
60
+
61
+
62
+
63
+ Swiftには標準でErrorという型があります。
64
+
65
+ そのため
66
+
67
+ ```swift
68
+
69
+ enum Result<Value, Error: Swift.Error> { // ErrorはSwift.Errorに準拠している必要がある
70
+
71
+ case value(Value)
72
+
73
+ case error(Error)
74
+
75
+ }
76
+
77
+ ```
78
+
79
+ としても
80
+
81
+ ```swift
82
+
83
+ enum Result<Value, Error> { // ErrorはSwift.Errorに準拠している必要がある
84
+
85
+ case value(Value)
86
+
87
+ case error(Error)
88
+
89
+ }
90
+
91
+ ```
92
+
93
+ としてもほとんど違いはなく、また
94
+
95
+ ```swift
96
+
97
+ enum Result<Value> {
98
+
99
+ case value(Value)
100
+
101
+ case error(Error) // Swift.Errorに準拠している必要がある
102
+
103
+ }
104
+
105
+ ```
106
+
107
+ としてもerrorは表現可能です。