如何对方法行进行字符串化?

时间:2016-10-28 21:14:44

标签: ruby

Ruby可以采用这样的方法:

def a_few_methods
  method1
  method2
end

...并创建一个这样的数组?

['method1', 'method2']

我正在做以下工作,但这看起来很笨重:

class Foo

  def self.method_array
    %w[method1 method2]
  end

  def a_few_methods
    self.class.method_array.each { |s| send s }
  end
end

我看到方法继承了对象,但是我没有看到任何方法来引导对话。除了将源文件读入字符串之外,还要从中获取内容。还有另一种方式吗?

1 个答案:

答案 0 :(得分:1)

你试过这样的事吗?

def self.method_array
    arr = [method(:method1), method(:method2)
end

然后我会称之为

self.class.method_array.each { |s| s.call }

我创建了一个如下所示的程序:

def test_one
    puts "test one"
end

def test_two
    puts "test two"
end


def few_methods
    arr = [method(:test_one), method(:test_two)]
end


a = few_methods
a.each {|i| i.call  }

当我运行它时,我会逐行打印出文本。 不知道这是否可能对你有所帮助。