Commit 7b1b980 1 parent b132fa1 commit 7b1b980 Copy full SHA for 7b1b980
File tree 1 file changed +6
-4
lines changed
1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -860,9 +860,11 @@ ghci> formatEntry entry
860
860
" Magazine: 120"
861
861
```
862
862
863
- パターンマッチは入れ子になった構造の中の要素に対してもできるので、さらに ` category ` が空文字列のものを特別扱いしたくなったら:
863
+ ` Entry ` 型の値を受け取って、その ` category ` と ` price ` を使って文字列を作る ` formatEntry ` 関数を定義しました。 ` formatEntry ` 関数の引数を宣言する部分で ` (Entry cat pri) ` と書いて ` Entry ` 型の値にパターンマッチしています。こうすると ` category ` が ` cat ` に、 ` price ` が ` pri ` という変数に割り当てられるので、 ` formatEntry ` の本体では ` cat ++ ": " ++ show pri ` という式で利用しています。
864
864
865
- ```
865
+ パターンマッチはレコード型の中の各フィールドに対してもできるので、例えば、` category ` が空文字列のものを特別扱いしたくなったら、次のように値コンストラクター` Entry ` の第一引数の箇所で、空文字列` "" ` にマッチさせます:
866
+
867
+ ``` haskell
866
868
ghci> : {
867
869
ghci| formatEntry :: Entry -> String
868
870
ghci| formatEntry (Entry " " pri) = " <Unknown category>" ++ " : " ++ show pri
@@ -874,9 +876,9 @@ ghci> formatEntry entry
874
876
" <Unknown category>: 999999999999999"
875
877
```
876
878
877
- ここでもカッコを忘れず !
879
+ ⚠️いずれの場合も、値コンストラクター ` Entry ` とその引数の箇所をカッコで囲うのを忘れないでください !
878
880
879
- ```
881
+ ``` haskell
880
882
ghci> : {
881
883
ghci| formatEntry :: Entry -> String
882
884
ghci| formatEntry Entry cat pri = cat ++ " : " ++ show pri
You can’t perform that action at this time.
0 commit comments