2013年5月22日水曜日

Haskellの学習~Real World Haskell 第1章~

こんにちは

割と速いペースで更新できてうれしいです!
この調子でやっていきたいです!

さて今日はHaskellを勉強し始めて実質最初の投稿です.

Real World Haskellを読み進めて,大事に思ったところ,気づいた点などを書き残していきます.


基本

  1. Haskellでは2つのコマンドをよく使う
  2. ghci
    対話型インタプリタ
    runghc
    Haskellのコードをスクリプトとして走らせるコマンド
  3. 計算は普通の書き方もポーランド記法も使える.その時に演算子はかっこで囲む
  4. べき乗は^
  5. 負数には必ずかっこ()を付ける.つけなくてもいい場合もあるが,基本的につける癖を持つこと
  6. ghciでコマンドを調べるコマンドがある
  7. let構文を使うことで一時的に変数を定義できる

リスト

  1. 基本はpythonと似ている.[]で指定して,カンマで区切る.長さに制限もない
  2. しかし,リストが[・・・・, ]のようにカンマの後に何も指定しない場合,エラーとなるので注意
  3. また,リスト内の全ての要素の方が一致しないとエラー(←まじかよ)
  4. 数字のリストで連続する値のリストを作成したい場合は[a..b]の形式で書くとaから始まってbで終わる
  5. リスト同士は++で連結できる
  6. リストの先頭にhogeを追加するコマンド

文字列

  1. いわゆる普通の言語の文字列と一緒pythonとも一緒
  2. 文字列の実態は文字のリスト.なので前述のリストの操作が使える

  1. 式の後にその型を表示するように設定できるコマンド
  2. ghciにはitという独自の機能がある.itはghciが最後に評価した式の結果を代入するもの
  3. itは使いこなせればすごい便利なもん
  4. %で有理数を作成することができる.例:3%11
  5. 有理数を使う前にはコマンドを打つ
  6. 追加機能を切るコマンド

簡単なコマンド

  1. runghcで走らせる
  2. 引数には指定のスクリプトの名前のみ.拡張子はいらない
  3. WC.hsを参照すること

練習問題の答えと以前のコマンド

コマンドはchapter1.txtにある
練習問題はexercise.hsを参照する
次回は第2章・型と関数です

2013年5月19日日曜日

Gistを使いましょう

こんにちは

今回はgithubが提供しているGistというサービスについて書きます.

なぜこのサービスを取り上げるかというと,このブログでも何度もプログラムについて言及してきました.
その中でソースコードを織り交ぜつつ,話をすることも何度もあります.

そういった場合にこれまでは,SyntaxHighlighterを利用していたのですが,非常に書きにくい.
コードを記述するときにHTMLを直接ゴリゴリ書かなきゃいけなかったり,HTMLに自分でクラスを記述しなければいけなかったり,対応していない言語があるのです.

それを解消してくれると期待しているのがGithub社が提供しているGistというサービスです.

実際に使ってみるとこんな感じです.


これはすごい!
何がすごいってちゃんとハイライトしてくれてる!
しかも使える言語が半端じゃなくおおい!
python,PHP,C#などはもちろんPrologのような変な言語も対応してます!これは素晴らしい!

今後の課題としてはコードを埋め込む際にリビジョンまで含めた指定ができるようになると,より完璧なものになるでしょう.

次回からはこれ使っていきます.

2013年5月15日水曜日

Haskellの学習~Real World Haskellのお勉強するよ!~

こんにちは

先日購入した,Real World Haskell 実戦で学ぶ関数型言語プログラミングを用いてHaskellを勉強しています.

え?ACM/ICPCはどこに行った?
すいません,あれ解くの一苦労なのでなかなか時間が取れていません.
土日とかにじっくり取り組みたいなあ

Haskellを勉強しようと思った理由はいくつかあります.


  1. 「使いこなせたら変態」といわれる言語に挑戦してみたかった
  2. 最近やってるオライリーフェアでオライリーの本が買いたかった
  3. 普段とは違う言語を勉強したかった
こういった理由でこの本を買いました.(最大の理由は2番目ですが)

というわけで,せっかく勉強したことは残していきたいので,学習した内容はここに書いていきます.

よろしくお願いします.