API Basic Constants ko - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
CONST
ClassicUO β’ Basic
CONSTλ μΌλ°μ μΈ μ¬λμ μ νμ©νμ§ μλ μ΄λ¦ λ°μΈλ©μ μ μΈν©λλ€. μ΄κΈ°κ°μΌλ‘ 리ν°λ΄μ΄λ ννμ κ²°κ³Όλ₯Ό μ¬μ©ν μ μμΌλ©° μ μΈμ΄ μ€νλ λ κ³μ°ν©λλ€.
μ νν ꡬ문
CONST name [AS type] = expression [, name ...]
λ§€κ°λ³μ
nameβ λ°μ΄ν μλ μμ μ΄λ¦. λ²μ λ΄μμ ꡬλΆλλ μ΄λ¦μ μ¬μ©νμΈμ. νλ‘μμ λ°μ μ μΈμ μ μμ΄λ©° μμ μ μΈμ ν΄λΉ νΈμΆμ μ§μ μμμ λλ€.typeβ μ νμ μΈ μ§μ AS νμμΌλ‘ VARμ κ°μ λ³νμ μ¬μ©ν©λλ€. μλ₯Ό λ€μ΄ AS Integerλ μμ§μ λΆνΈ μλ 32λΉνΈ μ μλ‘ λ³νν©λλ€. λκ΄νΈλ μ ν μ¬νμ λ»νλ―λ‘ AS μ£Όμμ μ λ ₯νμ§ λ§μΈμ.expressionβ νμ μ΄κΈ°μ. μ«μ, λ°μ΄ν λ¬Έμμ΄, TRUE/FALSE, μ°μ μ, μ§μ ν¨μ κ²°κ³Όλ₯Ό μ¬μ©ν μ μμ΅λλ€. μ΄ μ μΈμ΄ μ€νλ λ ν λ² κ³μ°νλ©° νμΌ μ 체μμ μꡬμ μΌλ‘ ν λ²λ§ κ³μ°νλ κ²μ μλλλ€.
λ°νκ°
κ°μ΄ μμ΅λλ€. CONSTλ μ μΈμ΄λ©° ν¨μλ λ Όλ¦¬ μ§μκ° μλλλ€. μ΄λ¦μ μ½μΌλ©΄ μ μ₯λ μ΄κΈ°κ°μ μ»μ΅λλ€. μμ μ RETURNμ Main λλ ApplyLimitμ μν©λλ€.
λμ
- μΌλ° λμ , LET, SETλ μ΄ λ°μΈλ©μ λ°κΎΈμ§ λͺ»νλ©° μμ λ³κ²½ μ€λ₯λ₯Ό λ°μμν΅λλ€. TRY/CATCHλ‘ ν΄λΉ μ€ν μ€λ₯λ₯Ό μ²λ¦¬ν μ μμ΅λλ€. Option Explicitλ μ μΈμ μꡬνμ§λ§ λͺ¨λ μλͺ»λ λμ μ μ€ν μ μ κ²μΆνμ§λ μμ΅λλ€.
- μ μ μμλ μ μ΅μμ μ€νμμ μ΄κΈ°νλκ³ νΈμΆλ νλ‘μμ μ μμ νμμ AS νμμ μμν©λλ€. μ§μ μμλ μ μΈ μ€ν μ μ΄κΈ°νλ©λλ€. λ°λΌμ μ΄κΈ°μμ ν¨μκ° λ€μ μμ λ λ€μ μμ ν μ μμ΅λλ€.
- 보νΈλλ κ²μ λ°μΈλ©μ΄λ©° Array/Object λ΄λΆ λ΄μ©μ λκ²°λμ§ μμ΅λλ€. λ³λ μ§μ μ μΈμ μ μ μ΄λ¦μ κ°λ¦΄ μ μκ³ λ€λ₯Έ μ μΈμ μ λ°μΈλ©μ λ§λλλ€. μμ μ΄λ¦μ μ¬μ¬μ©νμ§ λ§μΈμ.
- μμ§μ μ΄κΈ°μμ κ³μ°νκ³ ASλ₯Ό μ μ©ν λ€ λ²μμ μμ νμλ₯Ό κΈ°λ‘ν©λλ€. μ΄ν μΌλ° λμ μ κ°μ λ°κΎΈκΈ° μ μ μ΄ νμλ₯Ό νμΈν©λλ€. μ€μΉΌλΌ 리ν°λ΄ μμ λ κ²μ λμμ μ€ννμ§ μμ΅λλ€.
μμ
1. κ³ μ μ§μ°κ°μΌλ‘ κ³μ°
# delayλ κ°μ΄ 350μΈ μ§μ Integer μμμ
λλ€. 2λ₯Ό κ³±ν΄ λ³λ λ³μ doubled=700μ λ§λλλ€. Mainμ 700μ λ°ννλ©° μμ μ체λ λκΈ°νμ§ μμ΅λλ€.
Option Explicit On
SUB Main()
CONST delay AS Integer = 350
VAR doubled = delay * 2
RETURN doubled
END SUB
λ§€κ°λ³μ λ° μ€ν μ€λͺ :
delayλ κ°μ΄ 350μΈ μ§μ Integer μμμ λλ€. 2λ₯Ό κ³±ν΄ λ³λ λ³μ doubled=700μ λ§λλλ€. Mainμ 700μ λ°ννλ©° μμ μ체λ λκΈ°νμ§ μμ΅λλ€.
2. μ μ νλ μ λ¬
# limitμ κ°μ΄ 50μΈ μ μ Integer μμμ
λλ€. ApplyLimitλ amount=72μ maximum=50μ λ°μ μμ μλ 50μ λ°νν©λλ€. 보쑰 ν¨μκ° μμ ν μ μλμ΄ μμΌλ©° λ§€κ°λ³μλ₯Ό μ½κΈ°λ§ ν©λλ€.
Option Explicit On
CONST limit AS Integer = 50
FUNCTION ApplyLimit(amount, maximum)
IF amount > maximum THEN
RETURN maximum
END IF
RETURN amount
END FUNCTION
SUB Main()
RETURN ApplyLimit(72, limit)
END SUB
λ§€κ°λ³μ λ° μ€ν μ€λͺ :
limitμ κ°μ΄ 50μΈ μ μ Integer μμμ λλ€. ApplyLimitλ amount=72μ maximum=50μ λ°μ μμ μλ 50μ λ°νν©λλ€. 보쑰 ν¨μκ° μμ ν μ μλμ΄ μμΌλ©° λ§€κ°λ³μλ₯Ό μ½κΈ°λ§ ν©λλ€.
3. κΈμ§λ μ¬λμ μ²λ¦¬
# limitμ μ΄κΈ°κ°μ 3μ
λλ€. 4λ₯Ό λμ
νλ©΄ μ€λ₯κ° λκ³ μμλ λ°λμ§ μμ΅λλ€. CATCHλ μ€λ₯λ₯Ό problemμ μ μ₯νκ³ caught=TRUEλ‘ μ€μ ν©λλ€. Mainμ λ
Όλ¦¬κ° 1μ λ°ννλ©° μ¬κΈ°μ TRUEμ 1μ κ°μ΅λλ€.
Option Explicit On
SUB Main()
CONST limit = 3
VAR caught = FALSE
TRY
limit = 4
CATCH problem
caught = TRUE
END TRY
RETURN caught
END SUB
λ§€κ°λ³μ λ° μ€ν μ€λͺ :
limitμ μ΄κΈ°κ°μ 3μ λλ€. 4λ₯Ό λμ νλ©΄ μ€λ₯κ° λκ³ μμλ λ°λμ§ μμ΅λλ€. CATCHλ μ€λ₯λ₯Ό problemμ μ μ₯νκ³ caught=TRUEλ‘ μ€μ ν©λλ€. Mainμ λ Όλ¦¬κ° 1μ λ°ννλ©° μ¬κΈ°μ TRUEμ 1μ κ°μ΅λλ€.