メタプログラミングRuby

著者 :
制作 : 角征典 
  • KADOKAWA/アスキー・メディアワークス
4.61
  • (66)
  • (22)
  • (6)
  • (1)
  • (0)
本棚登録 : 463
レビュー : 39
  • Amazon.co.jp ・本 (312ページ)
  • / ISBN・EAN: 9784048687157

感想・レビュー・書評

並び替え
表示形式
表示件数
  • ものすっごい面白かった。

    Rubyやるなら絶対読んだ方がいいと思う。
    たとえ普段メタ語を話さないとしても読んだ方がいいと思う。

    この本は、クラスを作ってメソッドを定義したりできるレベルならば十分読める。
    だけど、第2部は結構難しかった。というか半分くらい分からなかった・・・。それでも読んでよかったと思える一冊。

  • いろいろな人にオススメされたので読んでみる事に。

    いわゆるRuby初心者脱却には非常にいい本。物語形式で読み進められるし、最後にまとめもあって素敵。

    ActiveRecordのソースを読むところは結構斜め読み。これをちゃんと読めるように精進せねば。

  • Ruby リハビリ本の第2弾。メタ・プログラミングというと Java の reflection のようなものを想像するが、しかし、Ruby のそれはコア言語と密接に結びついているという点でその趣を大きく異にする。メタプログラミングが、言語の裏道ではなく、本道そのものなのだ。こんな抽象的な書き方をしてしまうと何のことかまったく判らないだろうけれど、要はメタプログラミングこそが Ruby を正しく理解するための最も簡単な方法であり、それゆえメタプログラミングは Ruby プログラミングそのものでもある、ということなのだ。

    前半は Ruby におけるメタプログラミングの(つまり、Ruby の)基礎講座、後半は ActiveRecord や ActionController といった Rails のコードを読みながら、前半で学んだ知識が実際のコードの中でどのように使われているかを紹介する。これであの奇怪な ActiveRecord のコードが読めるようになった……かな?

  • ブログにレビューを書きました。http://irohiroki.com/2010/09/09/metaprogramming_ruby

  • メタプログラミングはRubyのオマケではない。
    むしろRubyの本領である。
    Rubyを深く知りたい、もっと使いこなしたい人には本書がオススメです。

  • 読書メモ: メタプログラミングRuby

    2012/11/06(火)〜2012/12/13(木) 中断有り 7日間200分程度

    Railsなどのフレームワークで使われるテクニックの本質を解説してくれる。
    まだ自分が理解できるレベルに達していないので半分程度しかわからなかった。
    Railsを触った後にまた読み直したい。
    ストーリー形式なので理解しやすいが購入するほどでは無いな。

    [more]

    ・メタプログラミング:コードを記述するコードを記述する こと
     静的メタプログラミング: コードジェネレータやC++テンプレート
     動的メタプログラミング: Rubyのメタプログラミング RailsのActiveRecordが有名

    ・movie.title = \"x\" は title=()メソッド呼び出し def title=(value) で定義する
    ・ActiveRecordはクラス名からデータベース名(複数形)、カラム名からアクセサメソッドを生成する。
    ・Rubyのclassキーワードは、クラス宣言と言うよりもスコープ演算子のよう。
    ・オープンクラス クラスを再度オープンして定義を追加する。
    ・ルートクラス: Ruby1.8まで Objectクラス。1.9から BasicObjectクラス

    ・send() 第一引数にシンボルを入れることでメソッド呼び出し。privateもよびだせるので危険。public_send()が安全
    ・シンボル コロンをつけるとシンボル イミュータブル to_sym() , to_s()で相互変換
    ・dispatch 振り分け
    ・define_method() 動的にメソッドを定義する
    ・ミミックメソッド かっこが無いときに擬態のように返送しているメソッド。
      obj.my_attribute=() や puts() など
       メソッド呼び出しの括弧を省略するのは熟練プログラマがよく使っている。キーワードのように見える。※訳者はミミックが好きらしいので誇張されているかも。
    ・Object#method_missing() メソッドが見つからないときにたどり着くメソッド
    ・Object#const_missing() 定数が見つからないときにたどり着く
    ・シンボルと文字列 シンボルはイミュータブル=変更出来ない。実際は使い分けは慣習。「物」の名前はシンボル。例えばsend()はシンボルでも文字列でも受け付けられるが、シンボルの方が適切とされる。to_sym() <-> to_s() で相互変換可能
    ・Rails バックエンドにデータベースの或るWebアプリをRubyで開発するためのMVCフレームワーク
    ・SymbolのProc変換 mapやinjectに&:funcを渡すと簡単にかける。Ruby1.9のSymbol#to_proc()実装のお陰。

  • Ruby 1.X, Rails 3.X と少し古めだがRubyについてより深く理解出来る良本。事実の羅列でなく,実例をもとに一つ一つ概念を説明してくれる。

  • Rubyist必携の書。RubyやRailsのバージョンが古く、一部情報が古くなっているが、バージョンに関わらないRubyのなんたるかを学ぶことができる。
    表題どおりRubyでどのようにメタプログラミングを行うかだけでなく、Rubyがどのような言語で、どのように書いていけばいいのか指針も見つかる。

    中級技術者向けと書いてあるが、プログラミング未経験でないなら、Ruby初心者にもぜひとも読んでほしい、そんな一冊である。

  • rubyのメタプログラミングに焦点を絞った解説本。
    扱われているrubyのバージョンは古いが実によくまとめられているので有益。

    前半は内容としては少し内容の濃いrubyの解説本であれば語られている内容ではあるが、ストーリー仕立てでテクニックの使いどころ、落とし穴を解説してくれているところがわかり易くて良い。

    後半railsなど実際のソフトウェアでどのようにメタプログラミングが使われているのかというところが特にオリジナリティがあり、参考になる。

    手元に置いておいて損のない一冊。

  • Rubyでちょっとしたツールを書き始めて,周りの人と比べてヒドく冗長なコードになった.また,有名なRubyプロダクトのコードが読めなかった.
    そうしたことから読み始めた本書だったが,まさに目から鱗が落ちる思いをした.奇妙な事実だが,この本に目を通してから,コードが何をしているか,前よりも分かるようになった.視界がクリアになったような思いがする.
    一方で,僕のような素人だと,一歩間違えれば非常に危険なコードになるということも分かった.
    でも,それら含めて,Rubyは強力でたのしい言語だと思う.

全39件中 1 - 10件を表示

Paolo Perrottaの作品

メタプログラミングRubyを本棚に登録しているひと

ツイートする