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은 κ°™μŠ΅λ‹ˆλ‹€.


en Β· ru Β· uk Β· fr Β· de Β· it Β· es Β· zh-tw Β· ja Β· ko

Basic