我有一个这样的过程
Boxer = Proc.new { | box, goal | puts " [#{ box }] #{ goal }" }
我称之为
Boxer[ 'X', goal ]
我想加入ansi转义代码来改变颜色 我希望能够传入一个字符串并让它打印出那种颜色 所以我的新拳击手看起来像这样
Boxer = Proc.new { |box, goal, color | puts " [#{ box }] #{ goal }".color }
我想这样称呼它
Boxer[ 'X', goal, 'red' ]
我正在使用着色宝石,但仍然无法让Proc按照我想要的方式行事 我尝试过eval和其他一些东西。
答案 0 :(得分:6)
如果我理解正确,请尝试
Boxer = Proc.new { |box, goal, color | puts " [#{ box }] #{ goal }".send(color) }