Ruby没有选择正确的重载方法

时间:2010-10-29 07:23:20

标签: ruby rake overloading

我有一个简单的Nunit跑步者,我有一个rake脚本:

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个参数的重载方法它工作正常,那么是否有一些我在这个例子中不知道的红宝石的怪癖?

1 个答案:

答案 0 :(得分:3)

Ruby不支持方法重载。