我有这样的程序
Boxer = Proc.new { | box, goal | puts " [#{ box }] #{ goal }" }
我是这样调用它的
Boxer[ 'X', goal ]
我想合并 ansi 转义码来改变颜色 我希望能够传入一个字符串并让它打印出该颜色 所以我的新 Boxer 看起来像这样
Boxer = Proc.new { |box, goal, color | puts " [#{ box }] #{ goal }".color }
我想这样调用它
Boxer[ 'X', goal, 'red' ]
我正在使用 colorize gem 但仍然无法让 Proc 像我想要的那样运行 我试过 eval 和其他一些东西。
最佳答案
如果我理解正确,试试
Boxer = Proc.new { |box, goal, color | puts " [#{ box }] #{ goal }".send(color) }
关于ruby - 如何将方法作为字符串传递并调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26936909/