2012-03-21 46 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