『入門 自然言語処理』

オライリー・ジャパンのeStoreで『入門 自然言語処理』を購入。Haskellの勉強もまだまだ途中だというのに、大丈夫なんですかね。多分大丈夫じゃないです。 とりあえず「はじめに」は読み終わりました。pythonはすでにインストールしてありましたので、とりあ…

すごいHaskell本

5章の続き、p70より。下は、p72,chain関数の定義です。 chain :: Int -> [Int] chain 1 = [1] chain n | even n = n : chain (n `div` 2) | odd n = n : chain (n * 3 + 1) 上のコードをghciに読ませると、non-exhaustiveと言われます。even n と odd n で全…

すごいHaskell本

今日も5章の続き。「5.2 高階実演」より。 5.2 高階実演 うーん? 部分適用は、すごいようなそうでないような。もうちょっと実践的な例がないとよくわからないです。 書いてあることはわかるのだけれど、でも「わかっていない感じ」がする。テトラちゃん。p…

すごいHaskell本

今日も4章の続きです。「4.3 クイック、ソート!」から。 基底部と部分問題さえ正しく選んだなら、全体として何が起こるかの詳細を考える必要はありません。部分問題の解が正しいという保証を元に、より大きな最終問題の解を構築すれば良いだけです。 59ペー…

すごいHaskell本

今日から4章に入ります。4章は再帰。 再帰については『Scheme手習い』を読んでたときに散々やったので、今のところは何も引っかかるところなくサクサク進みます。1つだけ疑問点。引数の値を利用していないパターンで、アンダースコアではなく a などの変…

すごいHaskell本

今日は45ページから。「パターンマッチとwhere」 p45 initials :: String -> String -> String initials firstname lastname = [f] ++ ". " ++ [l] ++ "." where (f:_) = firstname (l:_) = lastname 関数のパターンは網羅的なんだけど、whereでのパターン…

すごいHaskell本

第3章を進めております。 関数を定義する際、引数の構造で場合分けするときにはパターンを使います。 引数の値が満たす性質で場合分けするときには、ガードを使います。 ふつうのHaskell本を読んでたときは、パターンマッチとガードの違いがよく分からな か…

『すごいHaskell楽しく学ぼう!』2日目

昨日はインストールした所で終わりました。今日は第1章の初めからやりますよー。とりあえず対話型インタプリタということで、ghciですね。基本的な演算子の確認、結合度の話まで終わりました。とりあえず関数適用が最優先、覚えました。次はいよいよファイ…

『すごいHaskell楽しく学ぼう!』

図書館から表題の本を借りて来ました。現在はイントロダクションを終えてGHCをダウンロードしているところ。うん、ワクワクしますね。返却期限は延長含めて4週間なので、その間にどこまでいけるかというところですが。まあ、ある程度まで進めたら買ってしま…

Project Euler Problem25

いつも通り日本語訳Wikiより問題文を引用。 フィボナッチ数列は以下の漸化式で定義される:Fn = Fn-1 + Fn-2, ただし F1 = 1, F2 = 1. 最初の12項は以下である.F1 = 1 F2 = 1 F3 = 2 F4 = 3 F5 = 5 F6 = 8 F7 = 13 F8 = 21 F9 = 34 F10 = 55 F11 = 89 F12 = 1…

vimのNscripter用シンタックス設定

vim

タイトルの通りvimのNscripterスクリプト用のシンタックス設定を書いてみました。 http://blog.livedoor.jp/rdph/archives/51303976.html usr_44 - Vim日本語ドキュメント を参考にさせて頂きました。 コピペやっつけ仕事なのでなんか不具合はあると思います…

『アジャイルプラクティス』/『達人プログラマー』を読む

最近あまり勉強が進んでません。◯×ゲームとかオセロゲームとかも停滞してます。Project Eulerも長らく放置してるような気がします。 まあ、調子の出ないときは出ないなりに上手くやるということで、『アジャイルプラクティス』と『達人プログラマー』を適当…

『入門 Subversion』を読む

図書館から『入門 Subversion』を借りてきました。 バージョン管理システムを使い始めたかったので、 Subversionでなくても良かったんですが、 市内の図書館にはこの本しかなくて、選択の余地なし、でした。 現在は第3章を読み進めてます。 内容は一般のPCユ…

○×ゲームを作る

オセロを作るのを断念して、とりあえず○×ゲームを作ってみる。 ロジック部分は完成。 これから人間が遊ぶためのインタフェースを作りまする。

オセロゲームを作ろうとしてみる

なんとなく、rubyでオセロゲームを作ろうかと思いました。 あ、オセロって商標登録されてるんでしたっけ。じゃあリバーシにします。で、ろくに設計もせずに作り始めてみたわけですが、難航中です。 3年弱プログラミングを勉強してきて、 オセロゲームぐらい…

『ふつうのHaskellプログラミング』を読む 2

『ふつうのHaskellプログラミング』、第3章まで読み終わりました。 if文とか、再帰による繰り返しが出てきたので、FizzBuzzが書けますね。 近いうちに書いてみようと思います。

『ふつうのHaskellプログラミング』を読む

はてなダイアリーライターからの投稿テストも兼ねて、『ふつうのHaskellプログラミング』を読み始めた感想を書いてみます。 この本は前にも図書館で借りたことはあったのですが、そのときはちょこっと読んでやめてしまったという経緯がありました。 その後Ha…

Project Euler Problem 22

Project EulerのProblem 22を解きました。 問題文は、例によって日本語訳Wikiより引用。 5000個以上の名前が書かれている46Kのテキストファイルnames.txt を用いる. まずアルファベット順にソートせよ.のち, 各名前についてアルファベットに値を割り振り, リ…

Project Euler Problem 20

Project Eulerは、プログラミング言語で解く、数学的な問題を集めたサイトです。 問題 Problem 20の内容は以下のとおり。(日本語訳wikiより) problem20 n × (n - 1) × ... × 3 × 2 × 1 を n! と表す。100! の各桁の数字の合計を求めよ。 http://odz.sakura.n…

FizzBuzz問題を解いてみた

FizzBuzz問題を使って社内プログラミングコンテストを開催してみた - ITは芸術だ を読んで、自分でもFizzBuzz問題を解いてみました。