최근에 나는 새로운 변수에 값을 할당하기 위해 tap
을 사용할 수 있음을 발견했다. 예를 들어, 생성하고,이 같은 배열을 충전 :루비 '탭'방법 - 내부 할당
array = [].tap { |ary| ary << 5 if something }
truthy이다 array
something
경우에 5
밀어 조건이 코드; 그렇지 않으면 array
은 비어있게됩니다.
array = [].tap { |ary| ary += [5] if something }
array
가 비어 :이 코드를 실행 한 후 왜
는하지만 이해가 안 돼요. 누구든지 나를 도울 수 있습니까?
ADD :'a + = b'는'a = a + b'와 같이 작동합니다. - 여기 생성 사실은 새로운 객체가 더 분명합니다. – Nakilon
@Nakilon : OP가 명시 적으로 과제에 대해 말하고 있었기 때문에, 나는 그 부분이 분명하다고 생각했다. – sepp2k
좋아, 나는 이해했다고 생각한다; 그것은 할당 작업의 beacuse 작동하지 않습니다. 내가 원하는 결과를 얻으려면
array = [].tap { |ary| [5].each{ |v| ary << 5 } }
--- 어떻게 주석에 서식을 추가 할 수 있습니까 ?? – mdesantis