["1", "2"].map { |x| x + "." }
#=> ["1.", "2."]
["1", "2"].each { |x| x + "." }
#=> ["1", "2"]
두 방법 모두 각 요소에 블록을 적용합니다. 왜 each
아무것도하지 않는지 이해할 수 없습니다 .
Array#each
일했다. 그것은 단지 반복되었고 블록 내에서 반복 당 하나의 요소를 산출합니다. 완료되면 ["1", "2"]
호출 한 객체 를 반환합니다 . 확인하려면 각각 다음과 같이 호출됩니다.
["1", "2"].each {|x| p( x + "." ) }
# "1."
# "2."
그러나 Array#map
-self의 각 요소에 대해 주어진 블록을 한 번씩 호출합니다. 블록에서 반환 한 값을 포함하는 새 배열을 만듭니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다