有没有适用于Ruby的命令行框架?

9
所以,有网络框架,有GUI框架,我只是想知道是否有适用于Ruby的控制台/命令行框架?
具体来说,我希望能够:
  1. 拥有一个特定的视图,我可以在其中切换到不同的输入段。就像您可以在网页上的表单中做的那样。
  2. 我希望常规的控制台快捷键能够工作(ctr-k、ctr-a、ctr-e等)
  3. 如果光标位于某个输入位置,有时我希望它响应单个按键事件,而不是我必须输入文本然后按下Enter。
不必是统一的框架。但我注意到,在Ruby中编写控制台应用程序似乎有点麻烦。是否有任何工具可以使这更容易?

2
听起来你正在寻找一个控制台库,而不是一个“命令行”库。鉴于标题,这不是我预期的问题。 - Ken
6个回答

5
从你的问题来看,似乎你正在寻找基于curses的框架。但是如果不是这样的话,我写了一些与控制台/irb相关的gem可能会有用:
  • hirb - 用于将类与视图相关联的查看框架
  • bond - 自定义readline完成使其更容易
  • boson - 控制台命令框架

现在回答你的问题:

  1. 虽然我不知道如何做到这一点,但是有这个很好的curses应用程序,你可以阅读其源代码。
  2. require 'readline'可以给你这些按键绑定
  3. require 'highline'; answer = HighLine.new.ask('ask something') {|e| e.character = true }

4

2

发现了另外两个(虽然都没用过):

顺便说一下,我认为你想说的是,而不是框架。期望有人开发基于控制台的MVC框架有点不切实际…无论如何,每个人都可以尝试移植Rails… ;)

实际上,使用针对辅助功能编写的Web应用程序与基于文本的浏览器一起使用,可以满足您的需求。此外,您还可以免费获得Web界面!


是的,基于文本的浏览器会很酷。我想现在是时候成熟起来,停止编写任何非基于Web的应用程序了。但我确实喜欢控制台提供的“接口”(命令行完成、历史记录等)。 - Stephen Cagle

1

我认为SimpleConsole就是你要找的:

这是一个快速开发控制台应用程序的微型框架。对于脚本来说可能有点大材小用,但对于某些应用程序非常有用。 [...] SimpleConsole 有一个控制器和一个视图,控制器设置视图呈现的变量。视图是可选的,但在您有很多 'puts' 方法并且想将它们与逻辑分离的情况下非常方便。


很酷的想法,当然,如果没有详细而简单的文档,那么要开始并运行这个项目就比自己开发更费力。这就是低“门槛”问题的问题所在。 :) - Stephen Cagle

1
这是你要找的内容:Luc.ie http://my.luc.ie/ Lucie是一个基于MVC模式编写的Ruby控制台应用程序框架。

0
我在上面添加了这个,也单独作为一个答案添加,以便可以单独评估。
试试cliqr。它是一个轻量级但功能强大的框架,预先构建了一堆功能(包括命令行 shell)。请查看 git 存储库中的示例。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接