Ruby 没有选择正确的重载方法
我有一个用于 rake 脚本的简单 Nunit 运行程序:
module NUnitRunner
@NUnitPath = "#{RootDir}/tools/nunit/nunit-console.exe";
def self.RunTests(testFile)
system("\"#{@NUnitPath}\" ? \"#{testFile}\"")
end
def self.RunTests(testFile, runArgs)
system("\"#{@NUnitPath}\" ? \"#{testFile}\" #{runArgs}")
end
end
当我从任务中调用此模块时:
# Run Unit Tests
task :run_unit_tests do
puts "Running Unit Tests"
unitTestFile = "#{RootDir}/src/tests/unittests.dll"
NUnitRunner.RunTests(unitTestFile)
end
它只是不断告诉我“参数数量错误(1 为 2)”,并且如果我删除需要 2 的重载方法争论它工作正常,那么在这种情况下,红宝石是否有一些我不知道的怪癖?
Ive got a simple Nunit runner for a rake script i have:
module NUnitRunner
@NUnitPath = "#{RootDir}/tools/nunit/nunit-console.exe";
def self.RunTests(testFile)
system("\"#{@NUnitPath}\" ? \"#{testFile}\"")
end
def self.RunTests(testFile, runArgs)
system("\"#{@NUnitPath}\" ? \"#{testFile}\" #{runArgs}")
end
end
When im calling this module from within my task:
# Run Unit Tests
task :run_unit_tests do
puts "Running Unit Tests"
unitTestFile = "#{RootDir}/src/tests/unittests.dll"
NUnitRunner.RunTests(unitTestFile)
end
It just keeps telling me "wrong number of arguments (1 for 2)", and if i remove the overloaded method which takes 2 arguments it works fine, so is there some quirk with ruby that i dont know about in this instance?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Ruby 不支持方法重载。
Ruby doesn't support method overloading.