不知道這是可能的,但我可以調用一個參數之間的空格而不是逗號(不問)的空間的IRB shell的方法嗎?比方說,我有一個方法調用紅寶石空間方法參數
def start_band(member1, member2, member3, member4)
#do something
end
然後我把它像下面這樣:
irb>> start_band "John" "Paul" "George" "Ringo"
編輯:是否可以檢測到每一個按鍵呢?
不知道這是可能的,但我可以調用一個參數之間的空格而不是逗號(不問)的空間的IRB shell的方法嗎?比方說,我有一個方法調用紅寶石空間方法參數
def start_band(member1, member2, member3, member4)
#do something
end
然後我把它像下面這樣:
irb>> start_band "John" "Paul" "George" "Ringo"
編輯:是否可以檢測到每一個按鍵呢?
Durr!我真的以錯誤的方式接近了這一點。我只需要運行
@members = gets
以允許根據需要輸入。儘管如此,感謝您的答覆。
不,你不能這樣做。無論如何都不帶字符串。
您可以使用像treetop寫一個非常簡單的DSL,或者只是玩猴子解析遊戲,但不會解決你的問題相關的編號。
另一個明顯的答案是這樣的,這也將失敗:
irb>> start_band %W(John Paul George Ringo)
創建IRB樣CLI並不難,而且可能就足夠了,根據您的實際需求是什麼。
實際上有一個非常簡單的方法來擺脫逗號。你甚至可以擺脫行情的,太:
def start_band(members)
#members is an array
end
start_band %w(John Paul George Ringo)
的限制是你不能使用空格你的字符串裏面,你仍然需要啓動終止端(雖然可以使用其它字符而不是括號) 。
你可以在字符串中使用空格,你只需要轉義它們:'>>%w [foo \ bar]#=> [「foo bar」]'。 – 2011-12-21 15:57:04