?DUP — 0이 아니면 복제

?DUP — 0이 아니면 복제

?DUP(question-dupe)는 x가 0이 아니면 복제하는 코어 단어예요.

출처: ?DUP — Forth 2012 Standard

본문

스택 효과

( 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

더 알아보기 (Learn more)

출처: ?DUP — Forth 2012 Standard