我已经继承了一堆没有被任何类或模块包装的方法,并且只是在.rb文件中列出。这是由于在黄瓜测试套件中使用该文件而成为可能。我想收集所有这些方法的集合并遍历每个方法调用,并在每个方法调用时对它们进行一些工作。Ruby - 方法集合
EX:
def call_all_methods
method1
method2
method3(true)
method3(false)
method4('Y', true)
method4('N', true)
method4('Y', false)
method4('N', false)
end
什么,我希望能够做的是包装这些阵列中的全部,并与周围
$all_methods.each do |method|
begin
method.call
rescue Exception1
handle_exception1
rescue Exception2
handle_exception2
end
end
我有一个开始/救援块分别给他们打电话尝试把它们全部放在一个数组中使用%w
call_all_methods = %w(...)
和那个作品,但它使得方法丑陋看起来t在IDE中
我试着在文件上做一个readlines,但是这个方法在读取文件时被执行。
我可以创建方法来包装每个调用,但然后我有一个方法来调用另一种方法(一行),这是不正确的。
我已经看过Ruby: methods as array elements - how do they work?但既不这些解决方案似乎是很好的解决方案,我想要做的,因为它会脏的代码
其实我有之前试图实现这一点,但问题是他们中的一些人有争论。问题中列出的方法是方法调用,而不是方法声明。 –