String中的Ruby Begin / Rescue语法

时间:2018-01-26 18:31:09

标签: arrays ruby string syntax rescue

我想解决一个有趣的问题。

最终,我想执行一段看起来像这样的代码:

array.each do |element|
  begin
    eval(element)
  rescue => e
    puts "Unable to process #{element}"
  end
end

但是,由于其他一些我无法控制/编辑的代码,我想要执行的东西被作为字符串放入数组中,并从那里逐行执行。

例如,如果我想运行类似的东西:

puts 'test'

它会像这样进入数组:

execution_array << "puts 'test';"

一个更复杂的例子:

array.each do |element|
  puts element
end

看起来像这样:

execution_array << "array.each { |element| puts element };"

最终,我希望我的开始/救援/结束内容能够被执行,但是我无法使语法正常工作,并且事情没有得到正确的拯救。

提前感谢您的帮助!

0 个答案:

没有答案