는 최근에 나는이 방법을 내놓았다했습니다이 루비 방법과 비슷한가요?
module Enumerable
def transform
yield self
end
end
방법의 목적은 tap
방법 만 개체를 수정하는 기능과 유사하다.
이 방법으로 예를 들어 I 체인 스타일의 배열 순서를 변경할 수 있습니다 :
array.do_something.transform{ |a| [a[3],a[0],a[1],a[2]] }.do_something_else
를 대신이 일을 :하지만이 방법을 사용하는 경우
a0,a1,a2,a3 = array.do_something
result = [a3, a0, a1, a2].do_something_else
는 또 다른 편의 시설이 있습니다. ..
이 메서드는 매우 간단하므로 어딘가에 같은 목적으로 이미 작성된 메서드 여야합니다.
이 루비 방법과 유사합니까?
예. Object # tap self를 반환하지만 1.9부터 제공됩니다. – texasbruce
내 버전은 yield self의 결과, 즉 self가 아닌 block의 결과를 반환합니다. – megas
수정 : 귀하의 방법에있는 자기 자신에게 양보하십시오. 당신도 자기를 돌려주고 싶다는 언급은하지 않았으므로 블록을 반환 할 이유가 있습니다. – texasbruce