2012-03-21 64 views
1

我最近從在Bash中編寫我的腳本轉移到在Ruby中編寫它們,我很好奇是否有一種傳統方式來提示在Ruby中進行審批?通常,在猛砸我會使用類似如下的內容:提示用戶批准Ruby的標準方式?

read -p "This may overwrite existing files in your home directory. Are you sure? (y/n) " -n 1 
echo 
if [[ $REPLY =~ ^[Yy]$ ]]; then 
    #The action 
fi 

我能想到的一百方法來在Ruby中進行此類檢查,但我很好奇,如果有這樣的傳統方法是什麼?

回答

2

結賬HighLine。 HighLine提供了一個可靠的系統,用於向用戶請求數據,無需編寫所有錯誤檢查和驗證規則,也無需將類型化字符串轉換爲程序真正需要的內容。告訴HighLine你要做什麼,然後讓它做所有的工作。這可能是你在找什麼。

+0

有沒有辦法在不啓動highline新方法的情況下調用HighLine?我希望能夠說出HighLine.agree(「你同意嗎?」),並讓它返回true或false,但我發現需要'q = HighLine.new',然後才能打電話給我'q.agree(「你同意嗎?」)'。我錯過了什麼嗎?如果我不是爲什麼這個功能沒有被這個寶石所使用? – rudolph9 2012-03-21 14:46:14

+2

@KurtRudolph如果你需要'highline/import'',你可以叫'agree(「你同意嗎?」)''。 – 2012-03-21 15:19:24