我想从excel表中读取一个方法并将其与Class连接,这里是我的代码
book = Spreadsheet.open 'path/to/myexcel'
book.worksheets
sheet1 = book.worksheet 'Sheet1'
tcname = sheet1.cell(1,0)
TestCases.new.tcname
连接问题..任何人都有任何想法如何连接这个变量?
答案 0 :(得分:0)
假设TestCases.new
返回一个字符串:
"#{TestCases.new}#{tname}" # this is technically interpolation
或
TestCases.new + tname # this is concatenation
或
[TestCases.new, tname].join # this is also concatenation
所有3应该有相同的结果。
[编辑]
根据您发布的评论,在我看来,您可能正在询问的是如何使用tcname
的值作为发送到TestCases实例的方法。
如果是这种情况,你可以这样做:
TestCases.new.send(tcname)
虽然如果电子表格的来源不可信,但这在安全方面是不好的,最好从预先批准的可用方法白名单中选择,如下所示:
available_methods = ['upcase', 'name', 'to_sentence', 'Login_Click']
method_to_call = available_methods.detect{|m| m == tcname }
TestCases.new.send(method_to_call) if method_to_call