タグ

2011年9月26日のブックマーク (2件)

  • Nothing But Programming

    Ruby C Extensionの作成 for Windows RubyのC Extensionの作成方法について書いています。ただし、正当なやり方であるかどうかは分かりません。あまりWindows用に書かれていた記事がなかったので、書きました。来の(Ruby開発をしている人たちが推奨する)やり方があるのだと思いますが、とりあえずこれで動いたというところまでです。 いろいろ読んでみるとextconf.rbを作れとか、mkmfが何だとかいろいろやり方があるみたいですが、とりあえずそういうことは無視します。RubyからDLLの関数呼び出せればそれでいいっていう人向けです。そのうちextconf.rbとかも書けたら書きます。 RubyのVersionは1.9.1を利用しています。コンパイラはVisual Studio 2008です。とりあえず関数を呼んで戻り値を得るところまでをやります。そこか

  • 第4章 クラスとモジュール

    章ではクラスとモジュールの作りだすデータ構造について詳細を見ていく。 クラスとメソッドの定義 まずはCレベルでRubyのクラスを定義する方法を少しだけ見ておきたいと思う。 この章ではある意味「特殊な」ところばかりを追求するので、圧倒的多数を占 める通常ルートを先に知っておいてほしいのだ。 クラスとメソッドを定義する主要なAPIは以下の六つである。 rb_define_class() rb_define_class_under() rb_define_module() rb_define_module_under() rb_define_method() rb_define_singleton_method() 多少の派生バージョンはあるものの、拡張ライブラリはもちろん、基クラス ライブラリまでのほとんどがこれだけのAPIで定義されている。順番に紹介し ていこう。 クラスの定義 rb_d