我试图将jruby用作脚本语言(用于为游戏编写任务),但我需要防止使用像Dir
,Process
或{{}这样的潜在危险类1}}。
我已经找到了将单个方法和类列入黑名单的麻烦方法:
RubyVM
但我真的希望有一种更简单的方法来执行此任务,或者甚至更好地将应该能够使用的类列入白名单。
答案 0 :(得分:4)
您可以将特定方法设为私有:
class Dir
private :close, :each ....
private_class_method :glob, :home ...
end
或者你可以取消定义全班(对我来说不好的主意):
Object.send(:remove_const, :Dir)
或者删除方法(从Ruby核心类中删除方法也是个坏主意):
class Dir
remove_method :close, :each ....
end