2009-07-13 9 views
3
でガード

Cではルビー

#ifdef FOO_H 
#define FOO_H 
... 

#endif 

に類似ルビーファイル内のガードを含める追加する慣用的な方法は何が含まれていますか?

答えて

6

Chris Jester-Youngが言うように、requireが必要です。

unless defined? FooGuard 
    FooGuard = true 
    ... rest of code ... 
end 

あなたがクラスを定義を含め、ifの体に何かを行うことができ、方法:それは言った、あなたはif単純またはあなたが自分でものを作りたい場合はガード、例えば「含み」と同様に使用することができます等

11

requireを使用してファイルをロードすると、同じファイルを別の名前/パスでロードしていないと仮定すると1回だけ含まれます。したがって、一般的にRubyファイルはインクルードガードを使用しません。