Unyablog.

のにれんのブログ

Haskell入門3日目

本日少なめです。

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

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

三日目

次の電車が三十分後なので…

駅誰もいなくておもしろい。

第3章

構文。実用的っぽくなってきた

3.1

  • パターンマッチ…聞いたことないですね
  • なるほど〜ifみたいなものですね
    • if より楽そう
  • 引数(なのか?)に大文字を入れるのダメなのか〜
    • 単純に巨大なifがなくなるのがよいですねというぐらいの気がしている
  • 再帰関数だ!!!ムズイ!!!
    • pythonだと再帰の回数制限あるから結局forめいたもので済ませたりするんだよね
  • タプルで直接変数にして受け取るのは便利そうだなあ
  • x:xs でパターンになるのかぁ(聞いたことはある気がする
  • 結局 _予約語だった
  • 関数で引数を (x:_) みたいにするのムズそう
  • エラーは error ""
  • headD [x:_] = x だとダメなのかーって思ったけどリスト全部同じ型じゃないとダメだからか
    • なのでタプル
  • asパターンはすんなりわかった
    • addHead xs@(x:_) = x:xs 的な
  • 最初に型宣言しないとき引数の数が違うときはエラー出してて、引数の数が同じで解釈できそうなときは型クラスの追加っぽいことして頑張ってそうだった(-Wall にしたらエラー出たけど。)

感想

  • パターンマッチ、再帰のときとかシュッとかけてよさそうだと思った。でも今見てきた範囲だと if ... return とそう変わらなさそう。