CUBLOC2에서 서브루틴(Sub)과 함수(Function)는 코드를 구조화하는 핵심 요소입니다. 두 방식의 가장 큰 차이점은 반환값(Return Value)의 유무입니다.
' Sub 정의 (인자가 있는 경우) Sub PrintStatus(Value As Integer) Debug "현재 상태: ", Dec Value End Sub ' Sub 정의 (인자가 없는 경우) Sub SayHello() Debug "안녕하세요!" End Sub ' Sub 호출 PrintStatus(100) SayHello() ' 인자가 없어도 괄호를 붙여 호출합니다.
' Function 정의 (정수형 반환) Function Add(A As Integer, B As Integer) As Integer Add = A + B ' 함수 이름에 값을 대입하여 반환 End Function ' Function 정의 (인자 없이 값만 반환하는 경우) Function GetVersion() As Single GetVersion = 1.0 End Function ' Function 호출 Dim Result As Integer Result = Add(10, 20) Debug "버전: ", Fp GetVersion()
Sub CheckLimit(Value As Integer) If Value > 100 Then Debug "범위 초과로 중단합니다." Exit Sub End If Debug "정상 범위입니다: ", Dec Value End Sub
Dim A As Integer = 10 Test(A) Do Loop Sub Test(Value As Integer) Value = 20 ' 원본 A는 변하지 않음 End Sub