先看Ruby参考里面对eval的解释:
eval(expr[, binding[, fname[, lineno=1]]])
把字符串expr当作Ruby程序来运行并返回其结果
c= [3,3,56,8745,3]
c.each do |t|eval("@cc_#{t} = #{t}")
eval("puts @cc_#{t} + 10")
end
应该用下面这种
c= [3,3,56,8745,3]
c.each do |t|eval("@cc_#{t} = t")
eval("puts @cc_#{t} + 10")
end
queue = @@b.queue(t)
queue.bind(@@common_exch)
eval("@@client_#{t}= queue)")
#尽量不要在eval 中处理 不建议下面这种
queue = @@b.queue(t)
queue.bind(@@common_exch)
eval("@@client_#{t}= @@b.queue(t)")
eval("@@client_#{t}.")
end