Commit e75a21d 1 parent 8dfc8de commit e75a21d Copy full SHA for e75a21d
File tree 2 files changed +5
-5
lines changed
2 files changed +5
-5
lines changed Original file line number Diff line number Diff line change @@ -1046,18 +1046,18 @@ ghci> getMaybeValuebyForce Nothing
1046
1046
1047
1047
` *** Exception: ` で始まるエラーメッセージが出たところから分かるとおり、例外が発生してしまいました。このように、パターンマッチにおいて列挙できていないパターンの値がある場合、例外が発生する恐れがあります。課題hoge(12?)で触れたとおり、例外が発生してしまうと、原則としてプログラムは強制的に終了させられてしまうので、可能な限り避けたいものです。
1048
1048
1049
- hoge
1049
+ こうならないようにするために、通常の関数定義において引数でパターンマッチを行う場合、次のように複数行にまたがって関数を宣言します:
1050
1050
1051
1051
``` haksell
1052
1052
:{
1053
1053
ghci> getMaybeString (Just x) = x
1054
- ghci> getMaybeString Nothing = "error !"
1054
+ ghci> getMaybeString Nothing = "Nothing !"
1055
1055
:}
1056
1056
```
1057
1057
1058
- みたいに、関数定義の構文のように引数でパターンマッチしても場合分けができないので、
1058
+ しかし、ラムダ抽象の引数でのパターンマッチは、一行で書かなければならないため、このような場合分けができません。そのため、ラムダ抽象の引数でのパターンマッチは、場合分けが必要な場合には使わないようご注意ください。
1059
1059
1060
- ```
1060
+ ``` haskell
1061
1061
dangerous = \ (Just x) -> x
1062
1062
```
1063
1063
Original file line number Diff line number Diff line change @@ -81,7 +81,7 @@ Invalid input:
81
81
82
82
#### 復習: タプルに対するパターンマッチ
83
83
84
- まずは課題hogeの復習です 。
84
+ まずは課題hoge(8?)の復習です 。
85
85
下記👇のように書くことで、タプルの個別の要素を直接変数に代入することができたのでした。
86
86
これがタプルに対するパターンマッチです。
87
87
You can’t perform that action at this time.
0 commit comments