tap
메서드는 어떻게 동시성으로 작동합니까? 내가한다면 다음과 같은 두려움이 있습니까 :Ruby의 #tap 메소드가 위험합니까?
some_object.tap { |o|
# time-consuming operation 1
}.tap { |o|
# time-consuming operation 2
}
현재 또는 미래에 Ruby는 이러한 작업을 동시에 수행하려고합니까? #tap
는 위험한 소리입니다.
#tap
블록이 순차적으로 실행된다는 보장이 있습니까 (물론 블록 내에서 이상한 일이 발생하지 않는 한)?
그냥 [왜이 질문에 대한 답변]에서 #tap을 사용했기 때문에 내가 묻는 이유를 알고 있습니다. (http://stackoverflow.com/questions/13093430/how-do-i-find-intersection-of -3 array-while-ignoring-empty-arrays), 그리고 그것에 대해 약간의 부글 끓기가 있었기 때문에 나는 나쁜 대답을 제시하지 않을 것이라는 것을 이중으로 확인하고 싶었다. –
@BorisStitnicky 알았어. 글쎄, 당신이 그 대답에 틀에 얽매이지 않는 방식으로'탭 '을 사용했다고 가정 해 봅시다. 원래의 목적은 긴 메소드 호출 체인에서 데이터를 "모니터"하거나 "스파이"하는 것이 었습니다 (데이터를 활용). 그러나 그 외에는 본질적으로 당신의 대답에 잘못된 것이 없었습니다. 그러나 답안의 다른 대안들 중 일부는 더 작고 요점이었습니다. 나는. 기본적으로 독자가 너무 많은 코드를 작성할 때 혼동하지 않도록 노력하십시오 : – Casper
고마워요. 'reject' 메소드가'reject' 전에 내 마음에 떠오른 후'return '값으로'tap'을 사용하여 패치 한 것입니다. –