yashiganiの英傑になるまで死ねない日記

週末はマスターバイクでハイラルを走り回ります

すごいH本読書会#5に参加した

ノリではじまったすごいH本読書会もついに5回目を迎えた.今回の範囲は7章の6節まで.型や型クラスについてが範囲だった.担当は@でした.

でてきた疑問

コンストラクタは一見関数だけど,関数との違いは?

コンストラクタは関数と違ってパターンマッチが使える.

同名で引数の違う値コンストラクタは作れる?

作れない.モジュール自体を分けたり,用途に沿った関数を作れば同じようなことができる.

データ宣言で型クラス制限できないのに,実際には制限があったりする.やんわりと伝える方法はないの?

これに関してはないっぽい.けど,関数のほうに型クラス制限があることがあるから,空気読めってことかな.

deriving(Show)したときとかにShow関数を自作できる?

できないのでderiving(Show)外しましょう.けど,こういうときどうやったらShow型のインスタンスであることを外に知らせるんだろ? -> 次回にある.

練習問題

@が考えてきたやつをやりました.Webブラウザのブックマークを再現する問題です. メインはJSON出力するところまでで,操作関数を作れってのは,これじゃ時間余るかなーと思って用意したけど,ブックマークの任意の箇所を表現するのとかがめっちゃむずいのでオマケ程度に. 以下がぼくの回答 ブックマークの配列を作るところ,ムリヤリやったのでなんか汚い感じになった.他の人はtoJsonmapしたあと,Data.Listintercalateを使ってた.Rubyjoin的なやつなんだけど,よく考えりゃそりゃあるよね…あとaddBookmarkやりかけ...

感想

最近ついていけないなーといっていた@が今回は練習問題もすらすら解けたみたいで,ピチピチしていた.やっぱ書けると楽しいし,今回の問題はほどよく簡単感もはまる感もありよかった.

本章に出てきたやつとか事前にHoogleしておくと知識広まってよさそう.次回からはそうしようと思った.

今思えば,いつも書いたスクリプトをGHCiで:lしてがんばってたけど,スクリプトとして実行するのってどうやるんだろ.調べておこう.

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!