Ruby: 2008年8月アーカイブ
今日も休日出勤なちょい悪っぷり。それでは3章の気になる箇所。
P49 整数0除算はZeroDivisionError、実数0除算はInfinity。
P50 強く型付けされた言語なので、データ型が自動変換されることはない。整数と浮動小数点値の演算は例外的に自動変換される。
Rubyが強く型付けされた言語というところにそこはかとない違和感を感じたが、それは勘違いで、変数は型に束縛されていないが、インスタンス自身はキッチリしているという事みたい。
P52 宇宙船演算子(笑) いや名前にウけただけです。
今日は夏休みなのに仕事をしてきた不良なので少し疲れているけど、初めてのRuby2章は読んだ。 またまた気になったことだけ記載。
P31 配列の添字に負数を指定すると末尾から!
これは、結構驚きかも。確かにa[a.length - 1]なんだからa[-1]と略せてイイじゃんという話には納得。いやぁ、いいね。これいいね。早くむやみに使いたい。
あれ?もしやと思ってPerlでやってみたらPerlでも同じだった。今までPerlで何をやっていたのだ orz いや、まPerlとはつきあいは長いけど詳しくはないのだ。
P32 注意点:配列の添字アクセスはRubyの文法のように見えるが実はArray#[]メソッド呼び出し。なのでリファレンスマニュアルはArrayクラスを探すべし。
P37 do … end と { } の指針
- 基本的にdo endを利用する
- メソッドの戻り値を利用する場合のみ{}を利用する
- それと、メソッドチェーンをする場合のみ波括弧を使う
著者はリソース管理ブロックには波括弧と書いてるけど、do … endのが私はいいなぁ。
P42 Enumeratorの説明がいまいちしっくりこない。まぁ、すぐに必要そうではないのでひとまずスルー。
曲がりなりにもRuby on Railsで作ったサービスを運営している訳ですが、Rubyに関しては実はそれほど詳しくない。少しは基礎を堅くしようと思って、各所で評判の初めてのRubyを買ってきました。
早速、前書きと1章を読んでみた。これはと思った点をいくつか紹介。
14P 1.3.1 動的性の節のスーパークラスを実行時に変更する例。これはC++やJavaプログラマは考えないなぁ。やるかどうかは別としてRubyっぽいと思った。しかし「動的性」という言葉はなんだかしっくりこない日本語に思えたのですが、もっと適当な言葉はないものか。
続いて19Pのコラム「ri コマンド」。ri String という例はそのまま実行できたのだけど、ri File#read はエラーになる。もしやと ri File.read と打ってみたら、はたして説明が表示された。これは誤植なのか、私の環境によるものなのかよく分からないが、大したことではないのでヨシ。
25PのTkを使ったHello World!。Tkなんて懐かしい。いやそれだけですが(笑)
最後に26Pの特異メソッド。実行時のオブジェクトにメソッドを追加できるのは知らなかった。今まで何をやってたの?と言われそうですが(笑) どういう時に使うと有効なのかまだよく分からない。これが必要になったときにピンと来るよう忘れないようにしよう。
入門用の薄い本なので、数日で一通り押さえるつもりです。

