2

Ruby 1.9

Rubyで簡単な操作をしようとしています。プロパティタイトルにプレフィックスとしてデータを追加して、配列の各要素を変更したいと思います。

def my_proc
         @data = SomeTable.all
         @data.each { |d| 'my_title___'<< pt.title }
end

私は何を間違えましたか?

更新pt.title:プレフィックスとしてに値を追加する必要があります。pt.title == "some title"の場合、追加後は "my_title ___sometitle"である必要があります。もちろん、結果として、タイトルが変更されたオブジェクトの配列である必要があります。

それ、どうやったら出来るの?

4

3 に答える 3

5

これのことですか?

@data.each { |d|  d.title = 'my_title___' + d.title }
于 2012-07-31T14:09:16.037 に答える
5

タイトルが変更されたオブジェクトの配列を返すにmapは、ブロック内のオブジェクトを返すメソッドを使用します。

def my_proc
     @data = SomeTable.all
     @data.map { |d| 
        d.title='my_title___' + pt.title
        d
     }
end
于 2012-07-31T14:09:24.493 に答える
2

map 関数を使用します: http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-map

def my_proc
         @data = SomeTable.all
         @data.map! { |d| 'my_title___'<< pt.title }
end
于 2012-07-31T14:07:50.103 に答える