Module
Contents
Index 🔎︎

# 변수 사용

다음은 LibreOffice Basic의 변수 사용에 대한 기본적인 사항을 설명한 것입니다.

## 변수의 명명 규칙

변수 이름은 최대 255자로 구성할 수 있습니다. 변수 이름의 첫 번째 문자는 반드시 A-Z 또는 a-z 사이의 문자여야 합니다. 변수 이름에 숫자는 사용할 수 있지만, 문장 부호나 특수 문자는 사용할 수 없습니다. 단, 밑줄("_")은 사용할 수 있습니다. LibreOffice Basic에서 변수 확인자는 대/소문자를 구분하지 않습니다. 변수 이름에 공백을 사용할 경우에는 해당 변수를 각괄호로 묶어야 합니다.

변수 식별자 예:

    MyNumber=5
| 유효함
    MyNumber5=15
| 유효함
    MyNumber_5=20
| 유효함
    My Number=20
| 유효하지 않음, 공백이 포함된 변수는 괄호로 묶어야 합니다.
    [My Number]=12
| 유효함
    DéjàVu=25
| 유효하지 않음, 특수 문자는 사용할 수 없습니다.
    5MyNumber=12
| 유효하지 않음, 변수는 숫자로 시작할 수 없습니다.
    Number,Mine=12
| 유효하지 않음, 문장 부호는 사용할 수 없습니다.

## 변수 선언

LibreOffice Basic에서는 변수를 명시적으로 선언할 필요가 없습니다. 변수 선언은 Dim 문을 사용하여 수행할 수 있습니다. 쉼표로 이름을 구분하면 두 개 이상의 변수를 동시에 선언할 수 있습니다. 변수 유형을 지정하려면 이름 뒤에서 유형 선언 기호를 사용하거나 해당 키워드를 사용합니다.

변수 선언의 예:

    Dim a$
| 변수 "a"를 String으로 선언합니다.
    Dim a As String
| 변수 "a"를 String으로 선언합니다.
    Dim a$, b As Integer
| 변수 하나는 String으로, 다른 하나는 Integer로 선언합니다.
    Dim c As Boolean
| c를 Boolean 변수(TRUE 또는 FALSE)로 선언합니다.

변수를 선언할 때 키워드 대신 유형 선언 문자를 사용한 경우 유형 선언 문자를 매번 사용해야 한다는 것이 매우 중요합니다. 따라서 다음 문은 잘못되었습니다.

    Dim a$
| "a"를 String으로 선언합니다.
    a="TestString"
| 유형 선언 "a$="가 누락되었습니다.

변수를 특정 유형으로 선언한 다음에는 해당 변수를 동일한 이름을 가지고 다른 유형으로 선언할 수 없습니다.

### 변수 선언 강제

변수 선언을 강제하려면 다음 명령을 사용합니다.

    Option Explicit

Option Explicit 문은 모듈에서 첫 번째 SUB 앞의 첫 줄에 있어야 합니다. 일반적으로 배열만 명시적으로 선언해야 합니다. 다른 모든 변수는 유형 선언 문자에 따라 선언되거나 이 문자가 없을 경우 기본 유형인 Single로 선언됩니다.

## 변수 유형

LibreOffice Basic은 다음과 같은 네 가지 변수 클래스를 지원합니다.

- Numeric 변수는 숫자 값을 포함할 수 있습니다. 일부 변수는 크거나 작은 숫자를 저장하는 데 사용되며 다른 변수는 부동 소수점 또는 분수에 사용됩니다.

- String 변수는 문자열을 포함합니다.

- Boolean 변수는 TRUE 또는 FALSE 값을 포함합니다.

- Object 변수는 문서 내의 테이블 및 문서 같은 다양한 유형의 개체를 저장할 수 있습니다.

### Integer 변수

Integer 변수는 -32768에서 32767까지의 범위를 가집니다. Integer 변수에 부동 소수점 값을 할당할 경우 소수점 이하 자릿수가 다음 정수로 반올림됩니다. Integer 변수는 프로시저에서 신속하게 계산되기 때문에 루프의 카운터 변수에 적합합니다. Integer 변수에는 단지 2바이트의 메모리만 필요하며 유형 선언 문자는 "%"입니다.

    Dim Variable%

    Dim Variable As Integer

### Long Integer 변수

Long Integer 변수는 -2147483648에서 2147483647까지의 범위를 가집니다. Long Integer 변수에 부동 소수점 값을 할당할 경우 소수점 이하 자릿수가 다음 정수로 반올림됩니다. Long Integer 변수는 프로시저에서 신속하게 계산되기 때문에 큰 값에 대한 루프의 카운터 변수에 적합합니다. Long Integer 변수에는 4바이트의 메모리가 필요하며 유형 선언 문자는 "&"입니다.

    Dim Variable&

    Dim Variable As Long

### decimal 변수

decimal 변수는 양수, 음수 또는 0 값을 취할 수 있습니다. 소수점 이하 자릿수는 최대 29개로 제한됩니다.

소수 앞에 더하기(+) 또는 빼기(-) 기호를 사용할 수 있습니다(공백 유무 관계 없음).

integer 변수에 소수가 할당되면 LibreOffice Basic이 숫자를 올림 또는 버림합니다.

### Single 변수

Single 변수는 3.402823 x 10E38에서 1.401298 x 10E-45까지의 양수 또는 음수 값을 가질 수 있습니다. Single 변수는 해당 숫자에서 소수점 이하 자릿수가 아닌 부분이 증가하면 소수점 이하 자릿수가 감소하는 부동 소수점 변수입니다. Single 변수는 평균 정확도를 필요로 하는 수학 계산에 적합합니다. Integer 변수보다 계산 시간이 오래 걸리지만 Double 변수를 사용한 계산보다는 빠릅니다. Single 변수에는 4바이트의 메모리가 필요하며 유형 선언 문자는 "!"입니다.

    Dim Variable!

    Dim Variable As Single

### Double 변수

Double 변수는 1.79769313486232 x 10E308에서 4.94065645841247 x 10E-324까지의 양수 또는 음수 값을 가질 수 있습니다. Double 변수는 해당 숫자에서 소수점 이하 자릿수가 아닌 부분이 증가하면 소수점 이하 자릿수가 감소하는 부동 소수점 변수입니다. Double 변수는 정밀 계산에 적합하고 계산 시간이 Single 변수보다 오래 걸립니다. Double 변수에는 8바이트의 메모리가 필요하며 유형 선언 문자는 "#"입니다.

    Dim Variable#

    Dim Variable As Double

### Currency 변수

Currency 변수는 내부적으로 64비트 숫자(8바이트)로 저장되며 소수점 앞 자릿수가 15자리이고 소수점 이하 자릿수가 4자리인 고정 소수점 숫자로 표시됩니다. 값 범위는 -922337203685477.5808에서 +922337203685477.5807까지입니다. Currency 변수는 정확도가 높은 통화 값 계산에 사용되며 유형 선언 문자는 "@"입니다.

    Dim Variable@

    Dim Variable As Currency

### String 변수

String 변수는 최대 65,535자의 문자열을 포함할 수 있습니다. 각 문자는 해당 유니코드 값으로 저장됩니다. String 변수는 프로그램 내의 문서 작업과 최대 64KB의 인쇄할 수 없는 문자의 임시 저장에 적합합니다. String 변수를 저장하는 데 필요한 메모리는 변수의 문자 수에 따라 달라집니다. 유형 선언 문자는 "$"입니다.

    Dim Variable$

    Dim Variable As String

### Boolean 변수

Boolean 변수는 TRUE 값 또는 FALSE 값 중 하나만 저장합니다. 숫자 0은 FALSE, 다른 모든 값은 TRUE로 평가됩니다.

    Dim Variable As Boolean

### Date 변수

Date 변수는 내부 서식으로 저장된 날짜 및 시간 값만 포함할 수 있습니다. Dateserial, Datevalue, Timeserial 또는 Timevalue를 사용하여 Date 변수에 할당된 값은 자동으로 내부 서식으로 변환됩니다. Date 변수는 Day, Month, Year 또는 Hour, Minute, Second 함수를 사용하여 일반 숫자로 변환됩니다. 내부 서식은 두 숫자의 차를 계산하여 날짜/시간 값을 비교할 수 있게 합니다. Date 변수는 키워드 Date로만 선언할 수 있습니다.

    Dim Variable As Date

## 초기 변수 값

이 변수는 선언되자마자 "Null" 값으로 자동 설정됩니다. 다음 규칙에 주의합니다.

Numeric 변수는 선언되자마자 값 "0"이 자동으로 할당됩니다.

Date 변수에는 값 0이 내부적으로 할당됩니다. 이것은 Day, Month, Year 또는 Hour, Minute, Second 함수를 사용하여 값을 "0"으로 변환하는 것과 같습니다.

String 변수는 선언될 때 빈 문자열("")이 할당됩니다.

## 배열

LibreOffice Basic은 지정한 변수 유형에 의해 지정되는 일차원 또는 다차원 배열을 인식합니다. 배열은 프로그램에서 목록과 테이블을 편집하는 데 적합합니다. 배열의 개별 요소는 숫자 색인을 통해 지정할 수 있습니다.

배열은 반드시 Dim 문을 사용하여 선언해야 합니다. 다음은 배열의 색인 범위를 지정하는 몇 가지 방법입니다.

    Dim Text$(20)
| 0에서 20번까지 번호 매겨진 21개의 요소
    Dim Text$(5,4)
| 30개의 요소(6 x 5 요소의 배열)
    Dim Text$(5 To 25)
| 5에서 25까지 번호 매겨진 21개의 요소
    Dim Text$(-15 To 5)
| -15에서 5까지 번호 매겨진 21개의 요소(0 포함)

색인 범위는 양수와 음수를 모두 포함할 수 있습니다.

## 상수

상수는 고정 값을 가집니다. 상수는 다음과 같이 프로그램에서 한 번만 지정되며 나중에 다시 지정할 수 없습니다.

    Const ConstName=Expression