2

我有一组名称和 URL,并希望以向上/向下滚动菜单的形式向用户显示名称列表。基本上是dialog外壳内允许的。

我已经调查过了ncurses-ruby,但它们似乎要么被放弃为一个项目,要么甚至从他们的例子中抛出错误(如果存在的话)rdialogHighLine

有人可以向我指出一个不错的、可用的 TUI 菜单的 gem,或者一个简单的(我会是新手……)介绍如何在 Rails 中做到这一点(即可用数据的表示(=什么我的数组中有))以及如何处理用户的选择?

谢谢!

4

2 回答 2

2

我认为你所有的建议都是有效的,然后出现了更多 (n)curses 包装器,以及更多进化的框架,如rutuirbcurse(不幸的是不活跃)、vedeu和可能的其他一些。

但是,我现在的看法是hirbhighline,它们既稳定又积极维护。

于 2015-09-26T19:28:03.587 回答
1

绿鞋是这种工作的好宝石,它有菜单、选择、编辑框、文件对话框、复选框等,同时简单并且除了 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
于 2012-08-14T15:33:42.753 回答