タグ

イテレータとRubyに関するtyosuke2011のブックマーク (2)

  • 第16章 ブロック

    イテレータ この章ではRubyスタック七のうち最後の大物、BLOCKが登場する。 これが終われば評価器の内部状態についてはわかったも同然だ。 全体像 イテレータの仕組みはいったいどうなっているのか。 まず次のような小さいプログラムで考えてみよう。 ▼ソースプログラム iter_method() do 9 # ブロックを探す目印 end 用語を確認しておく。このプログラムで言うとiter_methodが イテレータメソッド、do〜endがイテレータブロックだ。 このプログラムの構文木をダンプしたらこうなった。 ▼対応する構文木 NODE_ITER nd_iter: NODE_FCALL nd_mid = 9617 (iter_method) nd_args = (null) nd_var = (null) nd_body: NODE_LIT nd_lit = 9:Fixnum イテレータブ

  • Rubyの基礎知識 | Railsドキュメント

    Rubyとは 説明 手軽なオブジェクト指向プログラミングを実現するための種々の機能を持つオブジェクト指向スクリプト言語 Rubyの特徴 シンプルな文法 普通のオブジェクト指向機能(クラス、メソッドコールなど) 特殊なオブジェクト指向機能(Mixin、特異メソッドなど) 演算子オーバーロード 例外処理機能 イテレータとクロージャ ガーベージコレクタ ダイナミックローディング(アーキテクチャによる) 多くのUNIX上で動くだけでなく、DOSやWindowsMac、BeOSなどの上でも動く 変数 特徴 JavaScriptと異なり、varは不要 セミコロン(;)も不要 予約語は、自動的にダブルクォートで囲まれる 例 数値と文字列 特徴 数値や文字列はすべてオブジェクトとして扱われる 変数の型は自動的に変換されるので意識する必要はない 数値 足し算やかけ算の結果、Fixnumの値を超えた場合は、

    Rubyの基礎知識 | Railsドキュメント
  • 1