API Basic Program ko - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
SUB Main()
ClassicUO β’ Basic
Basic νμΌμλ νλ‘μμ /ν¨μ μ μμ μ νμ μ μ μ μΈμ λ£μ΅λλ€. μ€νν μμ μ νλ‘μμ μμ λ‘λλ€. λ€μ μμ λ Main()μ μ§μ μ μΌλ‘ νλ μμ ν νμΌμ΄λ©° νλ‘μμ λ°μ λΆμΌ μ½λ μ‘°κ°μ΄ μλλλ€.
μ νν ꡬ문
Option Explicit On
SUB Main()
statement
END SUB
# comment
; comment
REM comment
// comment
' comment
λ§€κ°λ³μ
Main / entryβ μ€ν λμμΌλ‘ μ νν νλ‘μμ μ λλ€. Mainμ κ΄μ©μ μΈ μ΄λ¦μ΄λ©° μλ μ€ν λͺ λ Ήμ΄ μλλλ€. SUB Main()μ μΈμ μλ νλ‘μμ λ₯Ό μ μΈν©λλ€. 보쑰 ν¨μλ νΈμΆλ λλ§ λμν©λλ€.statementβ SUBβ¦END SUB λλ FUNCTIONβ¦END FUNCTION μμμ μ€νλ¬Έμ ν μ€μ νλμ© μλλ€. μ μ VAR/CONSTμ Option Explicitλ λ°μ λλ©° Option Explicitλ μ μΈλ³΄λ€ μμ λ‘λλ€.commentβ #κ³Ό ;λ λ¬Έμμ΄ λ°μ΄ν λ°μμ μ£Όμμ μμνλ©° μ½λ λ€μλ μΈ μ μμ΅λλ€. REM, //, μμλ°μ΄νλ μ νμ λ€μ¬μ°κΈ° λ€μμ μ 체 μ€ μ£Όμμ μμν©λλ€. λ¬Έμμ΄ μμμλ μ΄ λ¬Έμλ₯Ό κ·Έλλ‘ μ μ§ν μ μμ΅λλ€.
λ°νκ°
νμΌμ μ½κ±°λ SUBλ₯Ό μ μΈνλ κ² μ체λ κ°μ λ°ννμ§ μμ΅λλ€. RETURN expressionμ κ°μ λ°ννκ³ νμ¬ νΈμΆμ μ¦μ λλ λλ€. λ³Έλ¬Έ λμ λλ¬νκ±°λ μ μμ΄ RETURNμ μ°λ©΄ Unit(κ° μμ)μ΄ λ©λλ€.
λμ
- νμ§νλ μ£Όμκ³Ό λ¬Έμμ΄μ 보쑴νλ €λ©΄ UTF-8λ‘ μ μ₯νμΈμ. CRLFμ LF μ€λ°κΏμ λͺ¨λ λ°μ΅λλ€. λ€μ¬μ°κΈ°μ λΉ μ€μ μ½κΈ° μ½κ² νμ§λ§ END SUBλ END FUNCTIONμ λμ νμ§ μμ΅λλ€.
- ν€μλ, νλ‘μμ μ΄λ¦, λ³μ μ΄λ¦μ λμλ¬Έμλ₯Ό ꡬλΆνμ§ μμ΅λλ€. itemCount, ITEMCOUNT, ItemCountλ κ°μ λ°μΈλ©μ λλ€. λ¬Έμμ΄ νκΈ°λ 보쑴λλ©° UO.SetGlobal("Key", β¦)μ λ¬Έμμ΄ ν€λ μλ³μκ° μλλΌ λ°μ΄ν°μ λλ€.
- λ¨μ μ΄λ¦μ ASCII μλ¬Έμ λλ λ°μ€λ‘ μμνκ³ λ€μ μλ¬Έμ, μ«μ, λ°μ€μ μλλ€. μ§μ μ μΈν λ μμ½μ΄μ API μ΄λ¦μ νΌνμΈμ. UO.Printλ νμ λ νΈμΆ μ΄λ¦μ λλ€. μ΄λ¦ λ€ μ½λ‘ μ λ μ΄λΈμ μ μνλ©° μ¬λ¬ λ¬Έμ₯μ μΌλ° ꡬλΆμκ° μλλλ€.
- μμ§μ μ§μνλ Basic ꡬ문μ μ κ·ννκ³ μ 체 νμΌμ λΆμνμ¬ μ μΈμ μμ§νκ³ μ΄λ¦μ κ²μ¬ν©λλ€. λ°λΌμ 보쑰 ν¨μλ₯Ό Main μλμ λ μ μμ΅λλ€. νμΌμ μ½μ λ λͺ¨λ μ μκ° μ€νλλ κ²μ μλλ©°, μ νν νλ‘μμ λ₯Ό μμν λ μ€νμ μ΄κΈ°ννκ³ κ·Έ νΈμΆμ λ°λ¦ λλ€.
- μμ λ κ°λ§ κ³μ°ν©λλ€. ν νλ¦Ώμ νμΈν ν νμν UO νΈμΆμ λ³Έλ¬Έμ λ£μ΅λλ€. μ΄λ μ΄ μμ§μ κ·μΉμ΄λ©° λ€λ₯Έ Basicμ λͺ¨λ κΈ°λ₯μ μ§μνλ€λ λ»μ μλλλ€.
μμ
1. μ£Όμκ³Ό λ¬Έμμ΄ λ΄μ©
# Mainμ noteμ "ore #1; keep"μ μ μΈν©λλ€. λ¬Έμμ΄μ #κ³Ό ;λ κ·Έλλ‘ λ¨μ΅λλ€. λ€λ₯Έ #, REM, //, μμλ°μ΄ν μ£Όμμ μμ
μ νμ§ μμ΅λλ€. RETURNμ μλ λ¬Έμμ΄μ λ°νν©λλ€.
Option Explicit On
# Complete file
SUB Main()
REM Full-line comment
VAR note = "ore #1; keep" # Trailing comment
// Another full-line comment
' Another full-line comment
RETURN note
END SUB
λ§€κ°λ³μ λ° μ€ν μ€λͺ :
Mainμ noteμ "ore #1; keep"μ μ μΈν©λλ€. λ¬Έμμ΄μ #κ³Ό ;λ κ·Έλλ‘ λ¨μ΅λλ€. λ€λ₯Έ #, REM, //, μμλ°μ΄ν μ£Όμμ μμ μ νμ§ μμ΅λλ€. RETURNμ μλ λ¬Έμμ΄μ λ°νν©λλ€.
2. μμ ν μ μλ 보쑰 ν¨μ
# Mainμ amount=7λ‘ DoubleCountλ₯Ό νΈμΆν©λλ€. Main μλμ μ μλ ν¨μλ Integer λ§€κ°λ³μμ 2λ₯Ό κ³±νμ¬ 14λ₯Ό λ°ννκ³ Mainμ΄ κ²°κ³Όλ₯Ό μ λ¬ν©λλ€. λΉ μ§ Include νμΌμ΄λ μ μΈλμ§ μμ ν¨μκ° νμνμ§ μμ΅λλ€.
Option Explicit On
SUB Main()
RETURN DoubleCount(7)
END SUB
FUNCTION DoubleCount(ByVal amount AS Integer)
VAR result = amount * 2
RETURN result
END FUNCTION
λ§€κ°λ³μ λ° μ€ν μ€λͺ :
Mainμ amount=7λ‘ DoubleCountλ₯Ό νΈμΆν©λλ€. Main μλμ μ μλ ν¨μλ Integer λ§€κ°λ³μμ 2λ₯Ό κ³±νμ¬ 14λ₯Ό λ°ννκ³ Mainμ΄ κ²°κ³Όλ₯Ό μ λ¬ν©λλ€. λΉ μ§ Include νμΌμ΄λ μ μΈλμ§ μμ ν¨μκ° νμνμ§ μμ΅λλ€.
3. μλ³μ λμλ¬Έμ
# itemCount=3μ μ μΈν λ€ ITEMCOUNTμ itemcountλ‘ κ°μ λ³μμ 2λ₯Ό λν©λλ€. λμλ¬Έμκ° μμΈ ν€μλλ νμ©λ©λλ€. Mainμ 5λ₯Ό λ°ννλ©° νκΈ° μ°¨μ΄λ‘ λ³μκ° μΆκ° μμ±λμ§ μμ΅λλ€.
Option Explicit On
sUb Main()
Var itemCount = 3
ITEMCOUNT = itemcount + 2
ReTuRn ItemCount
EnD sUb
λ§€κ°λ³μ λ° μ€ν μ€λͺ :
itemCount=3μ μ μΈν λ€ ITEMCOUNTμ itemcountλ‘ κ°μ λ³μμ 2λ₯Ό λν©λλ€. λμλ¬Έμκ° μμΈ ν€μλλ νμ©λ©λλ€. Mainμ 5λ₯Ό λ°ννλ©° νκΈ° μ°¨μ΄λ‘ λ³μκ° μΆκ° μμ±λμ§ μμ΅λλ€.