タグ

ブックマーク / docs.ruby-lang.org (2)

  • pack テンプレート文字列 (Ruby 1.9.3)

    以下にあげるものは、Array#pack、String#unpack のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字 を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」 を表すこともできます。 長さの意味はテンプレート文字により異なりますが大抵、 "iiii" のように連続するテンプレート文字は "i4" と書き換えることができます。 テンプレート文字列中の空白類は無視されます。 また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな され無視されます。 整数のテンプレート文字のシステム依存性 各テンプレート文字の説明の中で、 short や long はシステムによらずそれぞれ 2, 4バイトサ イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま す。s, S, l, L に対しては直後に

  • class Continuation (Ruby 1.9.3)

    クラスの継承リスト: Continuation < Object < Kernel < BasicObject 要約 継続を表すクラスです。 Kernel.#callcc { |cont| ... } の呼び出し は、直前の状態(ローカル変数の定義、スタックフレーム)を cont に記憶 してブロックを実行します。cont は、Continuation クラスのインスタ ンスで、Continuation#call メソッドを実行するこ とでいつでも記憶した状態を継続することができます。 C 言語の setjmp()/longjmp() がわかる人は setjmp() == callcc {|c| } longjmp() == c.call と考えれば、わかりやすいかも知れません(ただし、callcc はスタックが深く なる方向にもジャンプ出来るという違いがあります) callcc() は、

    Hash
    Hash 2012/10/30
    Ruby 1.9の継続!
  • 1