지식은 공유되었을 때 그 힘을 발휘한다.



AutoCAD ActiveX 맛보기 강좌(13)

함수만들기
오늘은 함수를 만들어보도록 하겠습니다. sub로 시작하는 것은 단독으로 실행되는 프로그램입니다. 보통 procedure라고도 하는데, 실행명령으로 실행시키게 됩니다. 하지만 프로그램에서 이렇게 procedure만 있는 것이 아닙니다. 예를 들어서 근의 공식을 구해야 되는 프로그램이 있다고 합시다. 그리고 근의 공식을 프로그램에서 수십번 아니 수백번 구해야 된다고 하면 어떻게 해야할까요? 매번 코딩을 할 수는 없는 일이고, 그래서 근을 구해주는 함수를 만들고 그것을 필요할 때마다 호출을 할 수 있는 function이란 것이 생기게 된 것입니다.

Function functionname(넘어오는 변수)
 <실행부분>
 functionname = 넘어가는 값
End function

이렇게 정의를 하게 됩니다. 호출하는 측에서 함수에게 넘겨주는 숫자입니다. 근의 공식의 예를 들자면 ax2+bc+c에서 근의 공식에 대입하기 위해 필요한 변수는 a,b,c입니다. 이 a,b,c를 넘겨주는 것입니다. 그러면 함수에서 근을 구해서 넘겨주는 것입니다. 계산 결과를 넘겨주기 위해서는 함수명에다 결과값을 대입하면 됩니다. functionname=값 이라고 말이죠. 2차방정식의 근을 구해주는 함수에서 넘어오는 값은 a,b,c이고 계산결과를 넘겨주기 위해서는 functionname=값 이라고 하게 됩니다. 예를 들어보면

Function sol(a,b,c)
  sol = (-b+(b^2-4*a*c)^2)/(2*a)
end Function

위와 같이 입력한다음에 직접실행창에서 ? sol(1,5,3)이라고 입력해보세요. 2차방정식의 첫번째 근을 보여줄 것입니다. 아래그림처럼 말이죠.



이제 프로그램 어디에서든 sol(a,b,c)는 ax2+bx+c의 첫번째 근을 의미합니다. 따라서 a=sol(1,5,3)이라고 써서 어떤 변수에 대입도 할 수 있고 b = sol(1,5,3)*10 함수의 결과값에다 다른 숫자를 곱하거나 빼거나 할 수 있습니다.

오늘은 여기서 마치기로 하고 내일은 range를 인자로 받는 fucntion을 만들어보도록 하겠습니다.



dolljong@dreamwiz.com