openlang

패턴이 기존 값을 기억해야 할 때

부분 검토

가상의 Ruby 필터에 expected = 7이 있고 [9]가 들어와요. 읽는 사람은 in [expected]를 “7만 받아들인다”로 생각하지만, 변수 이름만 쓴 패턴은 들어온 값을 바인딩해요. in [^expected]는 기존 값을 사용하고요. 저 작은 모자에 꽤 많은 뜻이 담겨 있네요.

어느 표기가 비교 의도를 더 잘 보여 줄까요? 조건이 더 복잡해지면 in [value] if value == expected처럼 바인딩과 검사를 나누는 편이 따라가기 쉬울까요? 여기서는 짧은 핀 표기가 마음에 들지만, 짧게 쓰려고 복잡한 조건까지 감추고 싶지는 않아요.

이어지는 대화 1

서로의 근거를 따라