「初めてのRuby」 1章 ようこそ、Rubyのある生活へ
- 1.1.1 オブジェクト指向言語
Rubyではなんでもかんでもオブジェクトらしい。
1 #=>ぱっと見ただの数字だけどFixnumクラスから生成された"1"って名前のオブジェクトらしい。 str = "hoge" str.object_id #=>オブジェクトごとに固有IDが取れる。Perlでオブジェクトの比較って考えたことないかも・・・ str.class #=>所属クラスを調べる。
- 1.1.3 動く擬似コード
言語固有の記述が少なくてコード例にも向いてるらしい。
実はデザインパターンをつまみ食いや真似じゃなく、ちゃんと本で勉強しようと思いつつも、サンプルがJavaばかり選びかねていたときに「Rubyによるデザインパターン」を見つけたのもRubyに手を出したモチベーションの一つ。
- 1.1.4 ALGOLの皮をかぶったLisp
ALGOLもLispもわからんよ・・・でもRakeはMakefileに代わる~みたいな文脈で一時期見かけたな。ああいうのをDSLと呼ぶのか。
メタプログラミングは必要に迫られたことが無いからわからないが、「メタプログラミングRuby」とかいう本になるぐらい奥が深いんだろうな、と思いつつ先へ進む。
- 1.2 処理系と実行環境
本のタイトルだから見かけた「JRuby」の"J"ってJavaのことだったんだ。なんとなくJapaneseかと思ってたよ。jvimみたいなw
とりあえず色々あるらしいことはわかったので当面はMRIのことだけ考える。
- 1.2.1 バージョン体系
http://www.ruby-lang.org/ja/を見に行ったら去年の10月末に1.9.3の正式版が出てた。もう流れは1.9系とみていいのかな?
- 1.2.2 構成
使いたい機能を探すコツについて書いてあった。こういうの助かる。
RubyGemsってのはCPANみたいなものらしい。
- 1.3 実行モデル
実行されるまでの過程の説明。知ってるとデバッグのヒントになりそう。Perlのここへんよく知らないや(汗
- 1.4.2 対話的実行環境
1~3行程度を試すのにちょうどいいかも。行数増えたらエディタのハイライトに頼りたいがw
ただ、それ以前にまだRubyの実行環境を用意してないという・・・
- 1.4.3 コマンドライン・デバッガ
デバッガって普段あんま使わないんだよなぁ。これを機にちゃんと使ってみようかな・・?
- riコマンド
perldoc的なものらしい。本にすると凶器になるぐらい厚かったりするのかな?w
http://www.ruby-lang.org/ja/documentation/との関係がよくわからないけど、ウェブには日本語のドキュメントも多そう(助かる)
- 1.5.1 式と区切り
行末の;(セミコロン)は不要らしい。普段のPerlコードも基本的に1行1処理で書いてるから正直必須ではないなぁ、と思っていたところ。
- 1.5.4 制御式
{}(波括弧)の代わりにendで閉じる。視覚的にスコープを掴みづらそうだけどちゃんとインデントしてれば慣れの問題?
- 型変換
オブジェクトの型は勝手に変わらないけど変数には型が無いらしい。初めてPerl触ったときはここら辺がルーズで驚いたな。
しかし、だとすると下記で文字列型の"123"オブジェクトを代入されてるのはstrって名前の変数?でもstr.classってメソッド呼べるよね・・・
num = "123" num num.to_i
- 1.5.5 ブロック付きメソッド
foreach的なものもメソッドが用意されてるらしい。CとPerlぐらいしか触ってこなかったら結構新鮮!
- メソッド命の表記法
インスタンスメソッドとクラスメソッドの表記。これで最初にコード見たときに比べるとちょっと読めるようになったかも?
- リソース管理
ファイル操作のopenとcloseの区間を{}のブロックで書けるらしい。でも「ファイルAを開いてファイルBから得た情報を入れる」とかどうするんだろ。。
ざっくりとした機能紹介の章だったので、疑問点なんかもこの先で明らかになるんじゃないかと。
ところでエントリーに[Ruby]とか[読書]ってタグ付けるにはどうしたらいいんだろう。
あと、コードをハイライトして貼る方法も調べないと。