2011-12-21 2 views
1

これが可能かどうかわかりませんが、irbシェルのメソッドをコンマではなくパラメータの間にスペースを入れて呼び出すことはできますか(質問しないでください)?パラメータが空白で区切られたRubyメソッドを呼び出す

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

EDIT:代わりに、すべてのキーの押下を検出することが可能でしょうか?私はこの方法

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

を持っている。そして、私は次のようにそれを呼び出すとしましょうか

答えて

0

Durr!私は本当にこれに間違った方法で近づいた。私は単に実行する必要がありました。

@members = gets 

入力を必要に応じて許可します。それにもかかわらず、応答に感謝します。

2

いいえ、できません。とにかく文字列ではありません。

0

あなたは本当に簡単なDSLを書くことtreetopようなものを使用するか、単にサル・パースのゲームをプレイするが、それはあなたの正確な質問を解決することはできませんでした。 IRBのようなCLIの作成

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

は難しいことではありません、そして、あなたの実際の要件が何であるかに応じて、十分なことがあります

他の明白な答え

も失敗し、これを、です。

0

実際にカンマを取り除くには非常に簡単な方法があります。あなたも、あまりにも、引用符を取り除くことができます。

def start_band(members) 
    #members is an array 
end 

start_band %w(John Paul George Ringo) 

制限は、あなたの文字列内のスペースを使用することはできません、とあなたはまだ開始エンド終端を必要とする(ただし、代わりに括弧の他の文字を使用することができる)ということです。

+1

文字列の中にスペースを入れることができます。それらをエスケープするだけでよいのです。 ''%w [foo \ bar]#=> ["foo bar"] '。 –

関連する問題