문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Forth (문단 편집) ==== 지역변수 ==== 단어에서 사용할 값이 여러 번의 소비를 거치는 경우에, dup 등의 스택 조작 명령어를 이용해 스택을 이용하는 것은 매우 번거로운 일이다. 따라서 단어에서의 지역 변수를 정의할 수 있다. 이는 다른 언어에서의 함수의 매개변수와 비슷한 사용법이다. Locals로 칭한다. 이를 이용해 앞서 정의한 addprint를 개조해본다. {{{: addprint2 { a b -- a+b } a . '+' emit space b . ." = " a b + dup . ; }}} 1. 중괄호 내에 들어가서 공백으로 구분된 단어들은 지역변수가 될 것이다. 여기서 a가 먼저 들어간 값, b가 나중에 들어간 값, 즉 스택의 맨 위에 있는 값이다. 중괄호 안에서 -- 뒤는 주석이다. 스택에 남는 값을 주석으로 기술한다. 1. a 로 지역변수 a의 값을 스택에 넣는다. 이후 . 명령어로 출력했다. 이후 b도 마찬가지로 출력된다. 1. '+' 는 문자 리터럴로 해당하는 문자의 아스키 코드값을 스택에 넣었다. 이후 emit 명령어로 그 코드에 맞는 문자를 출력한다. 1. space 명령어로 공백 하나를 출력했다. 1. ." 명령어는 공백 이후 " ([[쌍따옴표]])까지 올 문자열을 출력한다. 따라서 "(a의 값) + (b의 값) = "의 문자열이 화면에 출력된다. 1. a b 로 a와 b의 값을 스택에 넣고, 이전처럼 계산해서 출력한다. 스택에는 a와 b를 더한 값이 남는다. 예시로 적은 코드에 개행이 많이 되어있다. 개행엔 특별한 의미가 있는 것이 아니고 다른 공백과 하는 일이 같지만, 코드를 보기 쉽게 해 주는 장점이 있다. 실제로 코드를 한 줄로 이어 쓸 수도 있다. 간단한 단어의 경우에는 그렇게 정의하는 것이 선호된다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기