2011-01-30 2 views
1

私は、関数を実行して普遍的に変換したい文字列のセットを持っています(例えば、add_underscore(string))。セットを変換する

反復コードなしでこれを行うためのネイティブな構文的方法がありますか?

+0

好奇心で、あなたは 'Set'か' Array'を使っていましたか? –

+0

A検索可能性を利用するためのセット。 – inyourcorner

答えて

4

mapを使用して、コレクションの各要素に関数を適用できます。

>> a = [ "a", "b", "c", "d" ] 
=> ["a", "b", "c", "d"] 
>> a.map { |x| x.upcase } 
=> ["A", "B", "C", "D"] 
+0

偉大な、ありがとう! – inyourcorner

3

mapは、新しい配列を返し、それは既存のものを変更しないことをMYYNの答えのビル...

set = [ 'one', 'two', 'three', 'four' ] 

# in Ruby 1.9 this: 
set.map &:capitalize # => [ 'One', 'Two', 'Three', 'Four' ] 

# is the same as this: 
set.map { |x| x.capitalize } 

注意。また、enumerableを使用して、配列内の各項目を反復処理します。それはまだあなたが知っている気になると思った、これを行うための最良の方法です。

+0

おかげで、ありがとう!それはかなり小さいので、大丈夫です。構文上、私の古いループよりも見栄えが良い。 – inyourcorner

関連する問題