삼항 표현의 유효성 [닫기]

삼항 표현의 유효성 [닫기]

hit여부에 따라 변수를 설정했습니다 impl == "MATCH". 대부분의 사람들은 코드 실행을 확인하기 위해 몇 가지 시도를 제안하지만, 이 질문은 주로 다른 사람들이 부작용이나 잘못된 코딩 스타일이 있는지 확인하여 개선할 수 있도록 하기 위한 것입니다.

  (impl == "MATCH") ? hit = $0 ~ prl : hit = match($0, prl)

답변1

이 글을 쓰려고 하시는 것 같아요

if (impl == "MATCH") { hit = ($0 ~ prl) } else { hit = match($0, prl) }

그렇다면 두 결과 부분이 모두 동일한 변수에 할당되므로 다음과 같이 작성할 수 있습니다.

hit = (impl == "MATCH") ? ($0 ~ prl) : match($0, prl)

여러분의 코드는 작동하지만(해보셨나요?) 표현식에서 실제로 삼항 연산자를 사용하지 않고 대신 Main Intent 할당을 구동하기 위해 부작용을 사용하는 복잡한 if... 구조체 에 가깝습니다. 나는 그것을 나쁜 코딩 스타일이라고 부른다.thenelse

관련 정보