在Ruby中,我如何让ARGV将输入读作变量而不是字符串?

时间:2014-04-29 17:29:59

标签: ruby argv

我想要运行各种各样的测试用例。愚蠢的代码是这样的:

class TestCase
    def initialize(caseName)
        name = caseName
        ...a bunch more code...
    end
end    

@TC001 = new TestCase("Case 1")
@TC002 = new TestCase("Case 2")
...
@TC100 = new TestCase("Case 100")

然后我试图传入命令行,这次我需要运行测试用例。 Runner文件类似于:

testCaseArray = Array.new
i = 0
while i < ARGV.length
    testCaseArray < ARGV[i]
    i += 1
end

runTestCases(myArray)
    myArray.each do |thisCase|
        puts thisCase.name
     end
end

runTestCases(testCaseArray)

然后当我进入命令行并输入:

ruby Runner.rb @TC027 @TC030 @TC075

我收到错误,因为它没有将@ TC027识别为变量,而是将其识别为字符串,而(字符串).name无效。

如何让它将字符串作为变量读取?

1 个答案:

答案 0 :(得分:1)

您可以使用instance_variable_get查找由字符串命名的实例变量。