Home‎ > ‎Etc‎ > ‎

初めてのRuby

初めてのRuby
初めてのRuby
posted with amazlet at 08.06.23
Yugui
オライリージャパン
売り上げランキング: 1191


080625_18_02
RubyKaigi2008 で先行発売されていて、著者のYuguiさんにサインもらった。
仕事始まると読めない可能性がでてくるので、Ruby会議の行き帰り(片道2時間かかる)
とかで読んでいて、大体読み終わった。




O'Reillyの 「初めての…」シリーズは、大体 「Learning …」の邦訳だったりするのだが、この本は違う。
「Learning Ruby」という本はあったりするのだが(そっちは洋書だし読んでいない)
あえて訳ではなく、書き下ろしたというところがスゴイよね。

ただし、お断りしておくと、この本はプログラム初心者が、「Rubyで」プログラムを学ぶための本ではない。
Rubyは、プログラムを学ぶのに適切な言語の一つだとおもうけどね。
この本は、敢えて他のプログラミング言語経験者、あるいはRailsなどからRubyを学び始めた人に向けて書かれた本だ。

ちなみに、おいらが触ったことのある他のプログラミング言語というと、以下のような感じ。

Basic(雑誌のやつ読んだり、お店で打ち込んだり、買ってもらえなかったのだ。w)
Fortran、C(大学の頃、もう忘れた)
Java、Perl、PHP (ちょっと、かじっただけ)
JavaScript、ActionScript(ま、必要にかられて)

Rubyは、OSXにバンドルされていたために興味を持ったのだけど、
実際に、触れ始めたのはやはりRailsの影響が大きかったと思う。
なので、ちょうどおいらはこの本のターゲットに含まれていたと言えるだろう。

以下、本に挟んだ付箋のメモから、抜き書き

P49
最初に、Rubyで不思議に思ったこととして、割り算がある。
JavaScriptの動作と比較したんだと思うけど

7 / 2 というのは、3.5じゃなくて、3 になる。つまり、整除が示されるのね。
5.25-7 みたいのは、自動的に型変換が行われて、実数になるので、ちょっと混乱した。

P53
2の補数とかって言葉とか、概念。すっかり忘れてました。^^;
http://www.ffortune.net/comp/develop/data/kazu.htm

P68
正規表現、未だにちゃんと覚えてない w
いい加減、そらで普通に使う分覚えておけってかんじだな <おいら
量化指定子、m回繰り返しの最短一致 周りは、まとめて誤植と思われ。
http://www.ruby-lang.org/ja/man/html/_C0B5B5ACC9BDB8BD.html#a.c0.b5.b5.ac.c9.bd.b8.bd.b5.ad.b9.e6

P78
Rubyをさわり初めて、割と最初の頃イテレータを知って、便利と思った。
一方、文字列に関しては、文字ではなくバイト列として扱われてしまい、
文字単位では取り出してくれないのを残念に思った記憶がある。
1.9では出来るようになったみたいだけどね。
で、その代わりに使われる 正規表現の常用 tipsらしい。

/(.)/s  ※SJISの場合

P97
文字リテラル ?p みたいなの。
理解してなかったので、P65に戻る。
どうやら、1.8系と1.9系では異なるようだ。

P99
参照渡しと 値渡し 、このあたりはJavaScriptにも出てくる話。
JavaScriptの場合、文字列の扱いが値とオブジェクトの中間みたいな感じで、
内容が変更できないため、Rubyみたいなことは出来ないのだけどね。

で、rubyの場合は、スコープ絡みなどで副作用を避けたいときは
def describe(name)
  name = name.dup
  …
end

といったことをやるらしい。

P101
クロージャについては、ごく最近理解した。^^;

P103
Ruby でいう self JavaScriptでいう this も、結構つまづいた。
混乱したのは、AcitonScriptのせいかもしれないけど。

P107
Rubyでは for は、ほとんど使われない。
イテレータを多用するのが、Rubyの流儀。
ま、このあたりはなんとなく。

P111
論理積や論理和 が true,false以外を返す っての。
nil || 50  #=>50

後、他の言語の仕様をよくしらないのだけど、
短絡評価、 A || B とかで、Aが Trueだったら、
Bは評価しないってやつ。

P127
p self は、いろいろ試してみたい。

P128
some_method(1,2,*[3,4,5])
って、書いてもいいみたいね。

P153
ここのグローバル定数の表記が今ひとつわからんかった。
::Object::Object::Duration::Object::Duration::DAYS_OF_WEEK
って、どいういみだ。

P155
GoFのデザパタって一度はちゃんと見ておくべき何だろうか。

P167
このあたりのコマンド、ステッキーズにでも貼り付けておこう。

P169
evil-ruby ってのが気になったよ。

P174
instance_eval は、知らなかった。
ここも、一度ちゃんと見ておく。

P177
継続ってのも、ここしばらく言語系の話題で流行ってたね。
おいらが、あまり理解できていない部分の一つ。

P178

情報源
http://www.ruby-lang.org/ja/man/
http://doc.loveruby.net/
http://rubyforge.org/

http://jp.rubyist.net/
http://jp.rubyist.net/magazine/

そいえばMLに入ってなかったので、とりあえず、入ってみることにした。
ą
ユーザー不明,
2008/06/25 2:11
Comments