2016-06-21 6 views
0

目標は、コメントされたコードをRubify(つまり、Rubyの魔法を使うこと)です。正規表現と2つの変数を含むRubyの条件を簡略化しますか?

私はRubyを学んでいます。コードを書き込むたびにRubyは簡単になり、読みやすくする魔法があります。

たとえば、ループを作成して整数の配列を反復して合計を得る代わりに、Rubyではsum = array.inject(:+)が魔法を働かせます(以下のコードとは関係ありません)。

string = 'abcd' 
inn = '' 
out = '' 
letters = 'az' 

# Rubify below, por favor 
letters.split('').each do |l| 
    if string[/#{l}/i] 
    inn << l 
    else 
    out << l 
    end 
end 

アイデア?

+0

rubifyはどういう意味ですか?それは既にRubyにあるようです:-P –

+0

@DJ。希望を持って...それをクリアするために質問を更新しました。 –

+0

このようなもの: 'irb(main):005:0> inn = string.chars.select {| c | letters.chars.include?(c)} => ["a"] '? – squiguy

答えて

1
string = 'abcd' 
letters = 'az' 
inn, out = letters.chars.partition{|char| string.include?(char)}.map!(&:join)