2016-04-20 59 views
1

任何人都知道如何在Ruby中實現幹運行選項?在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'") 

感謝提前任何想法。

PS我不想使用像system("ruby -e \"puts 'Hello'\"")

回答

0

在別人一句話,那就是你有:

command.each { |x| x } 

替換有兩種system(x)如果你正在運行的系統命令,或者eval(x)如果您正在嘗試運行Ruby代碼,如:

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 
+0

是的!它工作得很好!非常感謝你,@rorra。 問題已解決。 – jumpy