我在“应用程序”有一个提示声明功能,如irb
,其采用输入,我希望它来解析输入并执行我定义的功能。 同样,我的应用程序需要的输入通过gets
,并调用函数。 例如,查找用户输入
command = gets.gsub("\n","")
需要输入"pwd"
,现在我想调用的函数pwd
,其定义如下:
def pwd
Dir.pwd
end
现在,我可以简单地使用if
条件这样做,但许多这些条件不会像Ruby的哲学所要求的那样优雅。
我想分析的输入调用函数定义的问题。 一样,"pwd"
调用pwd
, "ls"
调用我已经定义了它的等效功能。
我该怎么做? 评论如果问题仍不清楚。 干杯。
应对可能重复
的问题提出具体要运行壳牌命令。然而,我只使用内置的Ruby方法和类,也许将来我甚至会使用Gems,以获得平台独立性。我的命令可能看起来像shell一样,但我实际上并没有运行shell。因此,我的问题不是可能的重复。
此外,未来的读者会发现它在Ruby中解析输入很有帮助。
在哪里在Ruby中定义'ls'? – Stefan
它不是。这才是重点。我做了我自己的功能,我会用“LS” –
因此,如果命令是“PWD”,然后红宝石应该叫'Dir.pwd'调用它,如果命令是“LS”,然后红宝石应该打电话给你自己' ls'方法。那是对的吗? – Stefan