?DUP — 0이 아니면 복제
?DUP — 0이 아니면 복제
?DUP(question-dupe)는 x가 0이 아니면 복제하는 코어 단어예요.
본문
스택 효과
( x -- 0 | x x )
설명
x의 모든 비트가 0이면 스택을 바꾸지 않고, 그렇지 않으면 x를 복제해요.
테스트 (Testing)
T{ 0 ?DUP -> 0 }T
T{ 1 ?DUP -> 1 1 }T
T{ -1 ?DUP -> -1 -1 }T
T{ MAX-INT ?DUP -> MAX-INT MAX-INT }T
T{ MIN-INT ?DUP -> MIN-INT MIN-INT }T