2011/01/05(Wed)
プログラミングErlangを買った
2011年の目標として、関数型言語を勉強する、というものを掲げている。そこで一念発起して「プログラミングErlang」を買った。
- 作者: Joe Armstrong,榊原一矢
- 出版社/メーカー: オーム社
- 発売日: 2008/02/23
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 210回
- この商品を含むブログ (95件) を見る
今年から諸事情により自由に使えるお金が減ったので、四千円以上する本を買うのにはちょっとした勢いが必要だった。アルバイトをしていた頃を思い出した。
■
毎日書くから「日記」なのだとすると、たまに書くこういうノンジャンルな文章は何と呼べばいいんだろう?どうもしっくりくるものが思い当たらない。「雑記」が一番近そうではあるのだが。
http://d.hatena.ne.jp/samurai20000/20101130/1291047935 に
撮影時はピントと、構図に集中したいので、RAWで撮ってWBなどはPhotoshop Lightroomで調整しています。
とあり、なるほどなーと思った。自分はどうかと思い返してみると、撮ったそばから明るさばかりが気になってしまって構図なんてろくに考えずに撮ってしまっているなぁ。
「メタプログラミングRuby」は一通り読み終わったのだけど、ブログにメモをとるのが止まってしまっている。また読み返したい本だし、ちゃんとまとめたいのだけど、もっと読みたい本を読み始めてしまったしなぁ。
蔵書を PDF 化したいと思っている。業者に任せてしまうのが良いとアドバイスをもらったので、どこか評判の良さそうなところを選んで一度試してみたい。けど、 Kindle 3 で技術書サイズの PDF を読むのは厳しいだろうか。
三年か四年前に Erlang が少し流行ったとき少しだけかじってみたことがあるが、今回はその時よりも楽しんで勉強できていると思う。
もっと書きたいことがあったような気もするが、いざ書き始めるとうまく文章にできない。
第二章 さあ、はじめよう
- シェルの終了
C-g q [RET] C-c a [RET] > q(). > halt().
- 整数 (N進数)
- とても大きい数値演算もできる
- N進数表記がある N#数
> 16#cafe. > 32#sugar. > 2#100. 4 > 8#100. 64 > 16#100. 256 > 32#100. 1024
- 実験
- 数字として使える文字がアルファベットの z までなので 36 進数までしか表現できない
23> 36#0. 0 24> 37#0. * 1: illegal base '37' 40> 36#z. 35
- 変数は単一代入、先頭は必ず大文字
- パターン照合 (パターンマッチ)
- アトム、先頭は小文字
- ただしシングルクォートで囲む場合はその限りではない
- シングルクォートで囲む必要のないアトムは囲まない表記をしたものと同一
- アトムは大局的
true, monday, twitter@kyanny, 'Monday' > a =:= 'a'. true
- タプル
- アトムでタグ付けする慣習
- 値を取り出すときはパターン照合
> Point = {point, 45, 10}.
{point,45,10}
> {_, X, Y} = Point.
{point,45,10}
> X.
45
> Y.
10
- リスト
- リストの要素は違う型?でも良い
- ヘッドとテール
> [H|T] = L. % (setq HEAD (car LIST)) % (setq TAIL (cdr LIST)) > []. % 空リスト > L = [orange,banana]. [orange,banana] > LIST = [apple|L]. % リストの先頭に要素を追加 [apple,orange,banana] > L = [apple,orange,banana]. [apple,orange,banana] > [X|Y] = L. % リストから要素を取り出すのもパターンマッチで [apple,orange,banana] > X. apple > Y. [orange,banana]
- 文字列
- 必ずダブルクォートで囲む
- 文字列は印字可能な文字を表す整数のリスト
> "Hello". "Hello" > [72,101,108,108,111]. "Hello"
- ドル記号表記
> $H. 72
- 文字コードは Latin-1 (ISO-8859-1)
- f() でシェルの変数束縛をリセット
