有人知道如何在Ruby中实现干运行选项吗?
我需要这样的东西,但仅限于红宝石。 https://serverfault.com/questions/147628/implementing-dry-run-in-bash-scripts
我已尝试过此操作,但在else
之后无法工作:
DRY_RUN = true
def perform(*args)
command = args
if DRY_RUN
command.each{|x| puts x}
else
command.each {|x| x}
end
end
perform("puts 'Hello'")
提前感谢任何想法。
P.S我不想使用像system("ruby -e \"puts 'Hello'\"")
答案 0 :(得分:0)
在else句子上,你有:
command.each { |x| x }
如果您正在运行系统命令,则将其替换为system(x)
;如果您尝试运行ruby代码,则替换为eval(x)
,例如:
DRY_RUN = true
def perform(*args)
command = args
if DRY_RUN
command.each{ |x| puts x }
else
command.each { |x| system(x) }
end
end
或
DRY_RUN = true
def perform(*args)
command = args
if DRY_RUN
command.each{ |x| puts x }
else
command.each { |x| eval(x) }
end
end