在调用具有多个参数的方法时,我遇到了 Shikashi 问题:
class MyTest
def self.think message
end
def self.say person,message
end
end
include Shikashi
privileges = Privileges.new
privileges.allow_const_read "MyTest"
privileges.object(MyTest).allow_all
privileges.instances_of(MyTest).allow_all
Sandbox.new.run(privileges, "MyTest.think('you')")
Sandbox.new.run(privileges, "MyTest.say('you', 'hi there')")
这个有效
Sandbox.new.run(privileges, "MyTest.think('you')")
在这里我得到一个 ArgumentError: wrong number of arguments (1 for 2)
Sandbox.new.run(privileges, "MyTest.say('you', 'hi there')")
当我在沙盒之外调用它时,一切都很好。
怎么了?我正在使用 ruby-1.9.3-p194