목차

Sub / Function

CUBLOC2에서 서브루틴(Sub)과 함수(Function)는 코드를 구조화하는 핵심 요소입니다. 두 방식의 가장 큰 차이점은 반환값(Return Value)의 유무입니다.

1. Sub (서브루틴)

' Sub 정의 (인자가 있는 경우)
Sub PrintStatus(Value As Integer)
    Debug "현재 상태: ", Dec Value
End Sub
 
' Sub 정의 (인자가 없는 경우)
Sub SayHello()
    Debug "안녕하세요!"
End Sub
 
' Sub 호출
PrintStatus(100)
SayHello()      ' 인자가 없어도 괄호를 붙여 호출합니다.

2. Function (함수)

' 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()

3. 루틴 종료 (Exit Sub / Exit Function)

Sub CheckLimit(Value As Integer)
    If Value > 100 Then
        Debug "범위 초과로 중단합니다."
        Exit Sub
    End If
 
    Debug "정상 범위입니다: ", Dec Value
End Sub

인자(Argument)에 대하여

1. 인자란?

2. 값 복사 방식

3. 원본 데이터를 수정하려면

사용 예시

Dim A As Integer = 10
Test(A)
 
Do
Loop
 
Sub Test(Value As Integer)
    Value = 20  ' 원본 A는 변하지 않음
End Sub

← CUBLOC2 목차로 돌아가기