タグ

ブックマーク / www.oki-osk.jp (2)

  • Ruby チュートリアル - 6. イテレータ

    6. イテレータ … ブロック付きメソッド 多くの伝統的な言語は,配列の各要素に対する処理の繰り返しなど, 定型的なループを (for 文 や DO 文など) 特定の構文でサポートしてきた。 さらにいくつかの言語はループの定型的な部分を抽象化して自由にプログラミング可能にすることに挑戦してきた。 Ruby はそのような試みのなかでも,広い意味で Alogol 系に属する 1970 年代の CLU に範をとった イテレータ (iterator) をサポートしている。 ここで Ruby の 称賛すべき独創性 は,CLU のイテレータ呼出し構文である for 文の体を,同じく 1970 年代の成果である Smalltalk のブロックと統合することによって,内部動作としては CLU と同じながら構文としての汎用性を高めた点である。 第2章 で示した例を再び見てみよう。 irb(main):00

    mfham
    mfham 2014/06/12
    優先度
  • Ruby チュートリアル - 5. クラスとモジュール

    Ruby はいわゆる純粋なオブジェクト指向言語である。 厳密には議論の余地があるとはいえ,通俗的には あらゆるものがクラス (class) のインスタンスである。 すべてのクラスはモジュール (module) でもあるが, クラスでないモジュールも存在する。 そういったモジュールは直接自分自身のインスタンスを作ることができない。 モジュールは名前空間として,またはクラスへの mix-in として使われる。 クラスそれ自身はメタクラス (metaclass) である Class のインスタンスである。 モジュールそれ自身はメタクラス Module のインスタンスである。 Class は Module の派生クラスであり, Module は Object の派生クラスである。 そして Object それ自身は Class のインスタンスである。 新しいモジュールを定義するには, module

    mfham
    mfham 2014/01/31
  • 1