-1

私はRubyにかなり慣れていません。私はこのようなものをまとめています:

in_msg.updateComments.map{|c| c.each} do |comment|

in_msg.updateCommentsハッシュです。

しかし、私はエラーが発生します:

SyntaxError: /Users/alexgenadinik/projects/cmply/cmply-app/app/models/linked_in_update.rb:65: syntax error, unexpected kDO, expecting kEND
      in_msg.updateComments.map{|c| c.each} do |comment|

これを正しく行う方法はありますか?

データは次のようになります。

 "updateComments"=>{"values"=>[{"comment"=>"Sweet", "person"=>{"siteStandardProfileRequest"=>{"url"=>"http://www.linkedin.com/profile?viewProfile=&key=23676551&authToken=FHXz&authType=name&trk=api*a140290*s148640*"},
4

3 に答える 3

2

初めに。ハッシュオブジェクトへのリンクは次のとおりです。mapハッシュを反復処理するメソッドは必要ありません。ハッシュによる反復は、、、、メソッドを使用して行われeachます。使用法と構文については、以前に提供されたリンクを参照してください。each_paireach_keyeach_value

in_msg.updateComments.each do |key, value|
  p key #prints "values" string on first loop
  value.each do |k, v|
    p k #prints "comment", "person"
    p v #prints "Sweet", "{"siteStandardProfileRequest"=>{"url"=>"http://www.linkedin.com/profile?viewProfile=&key=23676551&authToken=FHXz&authType=name&trk=api*a140290*s148640*"}"
  end
end
于 2012-05-18T20:09:48.600 に答える
1

ブロックの使用方法について混乱しているようです。

in_msg.updateComments.each do |key, value|
   # code here...
end

また

in_msg.updateComments.each {|key, value| code_here }

更新:データを投稿したので...いくつかのネストされたハッシュと配列があるように見えます。Ruby 配列と Ruby ハッシュの両方に関する優れたチュートリアルを見つけることをお勧めします。

于 2012-05-18T20:02:12.247 に答える
1

あなたが探している構文はこれだと思います:

in_msg.updateComments.map { |c| 
  c.each  do |comment| 
     # do stuff for each comment
  end
}
于 2012-05-18T20:03:39.613 に答える