문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. {| class="wikitable" !colspan="7"|기본문법 |- |[[lnx:comment|주석]] |[[lnx:variable|변수]] |[[lnx:operator|연산자]] |[[lnx:control|제어문]] |[[lnx:macro|매크로]] |[[lnx:wordline|대사줄]] |[[lnx:custom macro|사용자정의 매크로]] |} = 매크로 = 매크로는 여러 명령들을 묶어 놓은 것이라고 볼 수 있습니다. 반복적으로 쓰이는 여러줄의 스크립트가 있을 경우 이를 매크로로 묶은 후 이 매크로를 호출한다면 더욱 스크립트가 편리하고 깔끔하게 유지될 수 있을것 입니다. <code>참고</code>LNX 스크립트 매크로는 기존 프로그래밍 언어의 [http://ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D) 함수] 와 유사합니다. == 매크로 호출 == 매크로 호출은 만들어둔 매크로를 '''실행''' 한다는 뜻 입니다. 어떠한 매크로를 호출하고 싶다면 아래 그림과 같이 매크로의 이름을 대괄호로 묶고 부가적인 매개변수들을 전달해주어야 합니다. 매크로마다 필수적으로 넣어주어야 하는 매개변수와 생략해도 되는 매개변수가 있기 때문에 메뉴얼을 잘 숙지하셔야 합니다. http://i.imgur.com/rGNVNuB.png == 매크로의 특징 == 매크로에는 아래와 같은 몇가지 특징이 있습니다. 이는 [[lnx:custom macro|사용자정의 매크로]] 에도 동일하게 적용됩니다. * 인자변수 * 호출시 매개변수의 순서 * 기본값 변경 이 3가지 특징들을 하나씩 자세히 살펴봅시다. ==== 특징1. 인자변수 ==== 매크로를 실행하기 전에, 미리 매개변수 값을 지정 할 수 있습니다. LNX 스크립트에서는 이것 매개변수와 구분하기 위해 '''인자변수''' 라고 부르고 있습니다. <lnx>매크로명.매개변수명 = 값</lnx> 위와 같은 형태로 미리 값을 대입해 둘 수 있습니다. 예제를 살펴봅시다. '''인자변수 사용예''' <lnx># 매크로 인자변수를 이용하여 호출 대사창수정.아이디 = "대화" 대사창수정.이미지 = "textArea.png" 대사창수정.색상 = "255,255,255,255" 대사창수정.위치 = "0,720" 대사창수정.영역 = "1070,200" 대사창수정.여백 = "100,60" [대사창수정] # 매크로 호출 [대사창수정 아이디="대화" 이미지="textArea.png" 색상="255,255,255,255" 위치="0,720" 영역="1070,200" 여백="100,60"]</lnx> 위 예제 '''1번째 라인부터 6번째 라인까지의 코드와 10번째 라인의 정확히 동일하게 동작''' 합니다. ==== 특징2. 호출시 매개변수의 순서 ==== 매크로 호출시 매개변수의 순서는 상관이 없습니다. 즉 아래와 같이해도 두 줄의 스크립트는 동일하게 동작하게 됩니다. <lnx>[텍스트 텍스트="좌우 흔들기" 색상="255,0,0" 크기=45] [텍스트 크기=45 텍스트="좌우 흔들기" 색상="255,0,0"]</lnx> ==== 특징3. 기본값 변경 ==== 모든 매크로는 매개변수 생략시 기본으로 지정되는 값을 개발자가 원하는 값으로 바꿀 수 있습니다. [[Reference:set default argument|기본값 매크로]]를 이용해서 바꿀 수 있습니다. <lnx>[기본값 값="철수" 매크로명="대화" 인자명="이름" ] [대화 ] ;안녕...이름이 뭐라고 나올까? #이름 매개변수를 생략했으므로 기본값 '철수'가 들어갑니다. [대화 이름="영희" ] ;안녕? 나는 영희라고 해 ; [대화 ] ;이번엔 이름이 뭐라고 나올까?#이름 매개변수를 생략했으므로 기본값 '철수'가 들어갑니다.</lnx> == 매크로 나가기 == 매크로를 실행하던 중에 나가고 싶다면 <code>@돌아기기</code> 키워드를 이용 할 수 있습니다. 또한 이 <code>@돌아기기</code> 기능을 이용해서 매크로의 실행결과로서 값을 전달 하는 것도 가능합니다. <lnx>@매크로 값더하기: 결과 = 값더하기.값2 + 값더하기.값1 @돌아가기 결과 더한결과 = [값더하기 값1=10 값2=20] [독백 ] ;10과 20을 더하면 <=더한결과> 입니다.</lnx> Lnx:macro 문서로 돌아갑니다.