2009-07-13 90 views
3

什么是添加包括在ruby文件后卫类似于包括红宝石

#ifdef FOO_H 
#define FOO_H 
... 

#endif 

C中的惯用方式后卫?

回答

6

正如Chris Jester-Young所说,require应该是你所需要的。这就是说,你可以使用一个简单的if或类似的,如果你想自己一个,如“包括”后卫:

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

可以在if的身体做任何事情,包括定义类,方法等。

11

如果您使用require来加载文件,它将只包含一次(假设您没有通过不同的名称/路径加载相同的文件),所以一般情况下Ruby文件不使用包含防护。