在类似于
的ruby文件中添加include guard的惯用方法是什么?#ifdef FOO_H
#define FOO_H
...
#endif
在C?
答案 0 :(得分:11)
如果您使用require
加载文件,它将只包含一次(假设您没有按不同的名称/路径加载相同的文件),因此通常Ruby文件不使用包含保护。
答案 1 :(得分:6)
正如Chris Jester-Young所说,require
应该是你所需要的。也就是说,如果你想让自己成为一个,你可以使用一个简单的if
或类似的“包含”守卫,例如:
unless defined? FooGuard
FooGuard = true
... rest of code ...
end
您可以在if
的正文中执行任何操作,包括定义类,方法等。