回答編集履歴
2
訂正。SomeをOptionに。
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
しかし仕様に戻って考えると、else を通ることはない、else はエラーにしたいなど様々な状況が考えられます。例外を投げることもできますし、関数の戻り値をSomeにすることもできます。
|
37
|
+
しかし仕様に戻って考えると、else を通ることはない、else はエラーにしたいなど様々な状況が考えられます。例外を投げることもできますし、関数の戻り値を~~Some~~Optionにすることもできます。
|
38
38
|
|
39
39
|
|
40
40
|
|
1
参考を追加します。
test
CHANGED
@@ -39,3 +39,35 @@
|
|
39
39
|
|
40
40
|
|
41
41
|
まずは、else の追加で問題解決になるかどうか検討してください。推測が間違っていれば追記してください。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
### 参考
|
46
|
+
|
47
|
+
条件が網羅されていないエラーの例です。
|
48
|
+
|
49
|
+
```REPL
|
50
|
+
|
51
|
+
scala> def oddEven(x:Int):String = if (x % 2 == 0) "偶数"
|
52
|
+
|
53
|
+
<console>:12: error: type mismatch;
|
54
|
+
|
55
|
+
found : Unit
|
56
|
+
|
57
|
+
required: String
|
58
|
+
|
59
|
+
def oddEven(x:Int):String = if (x % 2 == 0) "偶数"
|
60
|
+
|
61
|
+
```
|
62
|
+
|
63
|
+
エラーを解決した例です。 ^
|
64
|
+
|
65
|
+
```REPL
|
66
|
+
|
67
|
+
scala> def oddEven(x:Int):String = if (x % 2 == 0) "偶数" else "奇数"
|
68
|
+
|
69
|
+
oddEven: (x: Int)String
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
```
|