2012-03-29 1 views
4

가능한 중복 :
What does map(&:name) mean in Ruby?"temps.each (& : valid?)"는 Ruby에서 무엇을 의미합니까?

each에서 발견 된 &:valid?은 무엇을 의미합니까? .each do |r| 또는 무엇을 사용했는지는 알지만이 방법이 어떻게 작동하는지 잘 모르십니까?

+1

나는 그냥 temps.collect {'에 대한 속기 생각 | t | t.valid == true}' –

+0

자세한 내용은 [here] (http://kconrails.com/2010/12/01/ruby-enumerable-primer-part-2-unary-ampersandoperator/)에서 확인할 수 있습니다. – Christian

+1

이 질문은 이미 StackOverflow에서 [Understanding \ [ClassOne, ClassTwo \] .each \ (& : my_method \)] (http://StackOverflow.Com) 질문을 받고 응답 한 17 개 이상의 질문에 대한 중복입니다. Ruby에서'map (& : name) '은 무엇을 의미합니까?] (http://StackOverflow.Com/q/1217088/), [Ruby에서 정확히'& : capitalize'는 무엇입니까? ] (http://StackOverflow.Com/q/1792683/), [Ruby/Ruby on Rails 앰퍼샌드 콜론 바로 가기] (http://StackOverflow.Com/q/1961030/), [Ruby :'& : symbol} 구문 ] (http://StackOverflow.Com/q/2096975/), ... –

답변

10

&to_proc 연산자입니다. 그것은 기호 (:valid?)를 Proc로 확장합니다. 그래서 당신의 예와 동일로 :

temps.each { |t| t.valid? } 
관련 문제