2011-12-21 43 views
1

不知道這是可能的,但我可以調用一個參數之間的空格而不是逗號(不問)的空間的IRB shell的方法嗎?比方說,我有一個方法調用紅寶石空間方法參數

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

然後我把它像下面這樣:

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

編輯:是否可以檢測到每一個按鍵呢?

回答

0

Durr!我真的以錯誤的方式接近了這一點。我只需要運行

@members = gets 

以允許根據需要輸入。儘管如此,感謝您的答覆。

2

不,你不能這樣做。無論如何都不帶字符串。

0

您可以使用像treetop寫一個非常簡單的DSL,或者只是玩猴子解析遊戲,但不會解決你的問題相關的編號。

另一個明顯的答案是這樣的,這也將失敗:

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

創建IRB樣CLI並不難,而且可能就足夠了,根據您的實際需求是什麼。

0

實際上有一個非常簡單的方法來擺脫逗號。你甚至可以擺脫行情的,太:

def start_band(members) 
    #members is an array 
end 

start_band %w(John Paul George Ringo) 

的限制是你不能使用空格你的字符串裏面,你仍然需要啓動終止端(雖然可以使用其它字符而不是括號) 。

+1

你可以在字符串中使用空格,你只需要轉義它們:'>>%w [foo \ bar]#=> [「foo bar」]'。 – 2011-12-21 15:57:04