タグ

cに関するpentiumxのブックマーク (4)

  • function rb_scan_args (Ruby 2.0.0)

    int rb_scan_args(int argc, const VALUE *argv, const char *fmt, ...) 長さ argc の配列 argv を fmt に従って 解析し、第四引数以降で渡されたアドレスに書き込みます。 fmt のフォーマットは以下の通りです。 必須引数の数 (省略可能な引数があるなら省略不可) 省略可能な引数の数 (ゼロ個ならば省略可) 残りの引数を Ruby の配列として受け取ることを示す '*' (省略可) 最後の引数をオプションハッシュとして受け取る事を示す ':' (省略可) ブロックを Proc オブジェクト化して受け取ることを示す '&' (省略可) これらの指定文字はそれぞれ省略可能ですが、 必ずこの順番で現れなければいけません。 使用例 VALUE a, b, optv; rb_scan_args(argc, argv, "21

    pentiumx
    pentiumx 2014/03/03
    [[animeface]
  • cmag2.rd

    第2回 拡張ライブラリの作成(2) 前田修吾 究極の高速化 先日仕事でちょっとしたRubyスクリプトを書きました。これはXML文書を解析 するものなのですが、XMLParserという拡張ライブラリ[1]を利用するこ とで、簡単に書くことができました。XMLParserは、expat[2]というCで 記述された代表的なXMLパーザのラッパライブラリで、Rubyではおそらくもっ ともよく使われているXMLパーザです。ちなみに、最近では他にもpure rubyの (拡張ライブラリを利用しない)XMLパーザがいくつか実装されています。*1 その中のどれかをRubyの標準ラ イブラリにしてはどうか、という提案もあるのですが、まだどのライブラリが Ruby標準になるかは予断を許さない状況です。どのライブラリもインタフェイ スが異なるのでユーザにとっては悩ましいですね。 ところで、このスクリプトには同僚

  • [ruby-dev:497] problem about rb_scan_args()

  • BlackCity.LABORATORY.Ruby.EXT

    Ruby.EXT.3 ENTRANCE|INFORMATION | DIARY | LABORATORY | LINK CAGE(一般掲示板)|Developper's Nest(開発掲示板)|こころ宙 目次 Ruby と C を繋ぐ VALUE 型 C 言語でも、Ruby でも、全てのプログラムは何かしらのデータを扱っています。たとえば数値データであるかもしれませんし、文字列データであるかもしれません。 それらのデータは、C 言語と Ruby の間で、扱い方が異なっています。C 言語であれば、変数には余計な情報が一切付けられません。たとえば int 型として宣言された変数 a は、メモリ内の数バイトを表すためのいわば「名前」であり、それ以上の情報は持っていません。しかし、Ruby の変数は様々な情報を持っています。ある変数 a があったとき、その変数からは「どのクラスのインスタンスか?」

  • 1