2012-08-14 57 views
2

我有一个名称和URL数组,并且希望以向上/向下滚动菜单的形式向用户显示名称列表。基本上什么dialog允许在壳内。Ruby:基于控制台的菜单

我已经看过ncurses-ruby,rdialogHighLine,但它们似乎都被作为项目抛弃,或者甚至从它们的例子(如果存在的话)抛出错误。

有人可以友好地指向我一个很好的,可用的宝石,做TUI菜单一个简单的(我会是新的,然后...)介绍如何在Rails(即演示文稿可用数据(=我在数组中))以及如何处理用户的选择?

谢谢!

回答

1

绿鞋对于这类工作来说是一个很好的宝石,它具有菜单,选择,编辑框,filedialogs,复选框等,虽然简单,除了Ruby本身没有任何依赖关系。

有一个小型但非常活跃的社区,邮件列表寻求帮助。 有关更多信息,请参阅http://vgoff.posterous.com/green-shoes。 安装与gem install green_shoes

这里的一个小例子

Shoes.app title: 'Selecteer vakantie', height: 600 do 
    background lightgreen..lightskyblue, :angle => 30 
    @list = ["choice1","choice2"] 
    @result = [] 
    stack do 
    para "Make your choice.", font: "sans", size: 10 
    flow do 
     button "Ok" do 
     selected = @list.map{|c, n| n if c.checked?}.compact 
     @result[0].text = "you selected #{selected}" 
     end 
     button("End") {exit} 
    end 
    @list.map! do |name| 
     flow { @c = check; para name, width: 500, font: "sans", size: 10 } 
     [@c, name] 
    end 
    @result << para('', :stroke => forestgreen) 
    end 
end 
+1

我可能会误解(目前我仍然试图在OS X下构建Green Shoes,但是它们很少有依赖关系来本地构建它:)但这看起来像是一个GUI宝石。我正在寻找一个基于文本的用户界面,又名。 ncurses /类似于对话框的东西。但是,无论如何看待一个好东西! – Christian 2012-08-14 17:51:49

+0

啊,在安装程序的窗口中,它都包含在内,大部分时间是相反的,我们有更多的工作来让它工作 – peter 2012-08-14 19:52:39

1

我认为所有的建议是有效的,那么就来了更多的(n)的诅咒包装,以及更进化framworks像rutuirbcurse(不幸的是没有积极),vedeu和其他可能。

但是,我现在需要的是hirbhighline这是稳定和积极维护。

+0

hirb对我来说是新的,感谢信息! – Christian 2015-09-30 10:47:16