使用由空格分隔的参数调用Ruby方法

时间:2011-12-21 14:37:21

标签: ruby scripting parameters

不确定这是否可行,但是我可以从参数而不是逗号之间用空格的irb shell调用方法(不要问)吗?让我们说我有一个方法

def start_band(member1, member2, member3, member4)
    #do something
end

然后我称之为:

irb>> start_band "John" "Paul" "George" "Ringo"

编辑:是否可以检测到每个按键?

4 个答案:

答案 0 :(得分:2)

不,你不能这样做。不管怎么说都没有字符串。

答案 1 :(得分:0)

没有

您可以使用treetop之类的东西来编写一个非常简单的DSL,或者只是玩猴子解析游戏,但这并不能解决您的确切问题。

另一个明显的答案是,这也失败了:

irb>> start_band %W(John Paul George Ringo)

创建类似irb的CLI并不困难,并且可能已经足够,具体取决于您的实际需求。

答案 2 :(得分:0)

实际上有一种非常简单的方法可以摆脱逗号。你甚至可以删除引号:

def start_band(members)
  #members is an array
end

start_band %w(John Paul George Ringo)

限制是您不能在字符串中使用空格,并且仍然需要起始端终止(尽管可以使用其他字符而不是括号)。

答案 3 :(得分:0)

杜尔!我真的走错了路。我只需要运行

@members = gets

根据需要允许输入。感谢您的回复。