我想使交互式应用,其中用户运行它,并可以通过创建交互式Ruby控制台应用程序
例如键入命令(某种壳)做各种任务:
./myapp.rb
App says Hi
Commands:
help - display help about command
open - open task
do - do action
Start>help open
open <TaskName>
opens specified task
Start>open Something
Something>do SomeAction
Success!
Something> (blinking cursor here)
我搜查,但couldn没有找到任何宝石宝石,我可以专门用于控制台交互,所以我即将做出我自己的...
我看着Thor,但那不完全如我wa NT,也许我可以使用它,但不知道...
它可能看起来像:
class Tasks
attr_reader :opened_task
desc "open <TaskName>", "opens specified task"
def open(params)
end
desc "do <ActionName>", "do specified action"
def do(params)
end
end
tasks = Tasks.new
# theoretical Console class
console = Console.new
console.addCommand("open",tasks.method(:open),"open task")
console.addCommand("do",tasks.method(:do),"do action")
console.start("%s>",[*tasks.opened_task])
所以我的问题是,什么宝石我可以用它来做出这样的控制台类?也许有人已经做出了类似的东西? 我计划使用HighLine进行输入/输出,但任何其他建议我可以使用什么?
它应该是红宝石或你自己的语法? – Reactormonk 2012-03-24 19:02:49
你是指红宝石还是自己的语法? :| 如果你的意思是使用IRB,那么这不是一个选项... – davispuh 2012-03-24 19:11:52
为什么不呢?它为您免费提供图灵完整性。 – Reactormonk 2012-03-24 19:15:04