다른 언어에서 함수 내에 정의된 변수는 local 변수고 함수 밖에서 정의된 변수는 global 변수입니다. mel에서 함수의 역할을 하는 것이 procedure입니다. 다른 점은

마야에서 script editor나 ui에서 명령어나 procedure를 호출하면, 먼저 마야 메모리를 검색한 후, 없다면, 사용자 정의 script 폴더 안에 입력된 이름의 script파일을 검색한 후, 그 script file안의 해당 procedure를 실행합니다. 그렇다면, mel에서 local 변수와 global 변수를 정의할 때, 구분하는 방법은 다른 언어와 달리, procedure안에서 if, while, for...등등의 구문 밖에서 정의된 변수는 global 변수이고, if, while, for....등등의 구문 안에서 정의된 변수는 local 변수입니까?/? 그리고 local 변수나 global 변수 둘 다는 procedure 안에서 정의되는 것입니까???

 

마야 메모리 측면에서 local procedure와 global procedure의 차이점이 궁금하네요. local procedure가 실행될 때, 그 procedure에서 정의된 일련의 명령어나 리턴값이 출력된 후, 그 procedure의 실행이 끝나면, 마야 메모리에서 사라지지만, global procedure의 경우, global procedure가 실행될 때, 그 procedure에서 정의된 일련의 명령어나 리턴값이 출력된 후, 그 procedure가 마야 메모리에 load되어 마야가 종료될 때까지 마야 메모리에 존재하는 것이 맞나요????