From: matz@... (Yukihiro Matsumoto) Date: 1998-09-18T10:41:49+09:00 Subject: [ruby-list:9600] Re: Q: #ifdef or #ifndef まつもと ゆきひろです In message "[ruby-list:9598] Q: #ifdef or #ifndef" on 98/09/18, Tomoyuki Kosimizu writes: |こんにちは、越水です。 |今のところ、グローバル変数を使って多重 load を防いで |いるのですが、ちょっと不安です。 | |if not $FOO_RB | load "foo.rb" |end こーゆー目的には require がお勧めではないかと存じます. requireはloadと比較すると 拡張モジュール(プラグイン)も読み込める 拡張子が省略できる 同じファイルを二度読み込まない という点が違います.ですから,上のコードは require 'foo.rb' で済んじゃいます.$FOO_RBを設定する必要もありません. |C言語の #ifdef または #ifndef に相当するメソッドは |ないでしょうか? C言語と違ってトップレベルにも実行文が書けるRubyでは普通にif とかunlessとかを使えば良いと思います.ごとけんさんからも指摘 がありましたが,defined? はこの目的に使えると思います. まつもと ゆきひろ /:|)