API Basic OptionExplicit ko - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

Option Explicit

ClassicUO โ€ข Basic

์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์ „์— ๋ณ€์ˆ˜ ์„ ์–ธ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์—”์ง„ Basic ์–ธ์–ด์˜ ํŒŒ์ผ ์ง€์‹œ๋ฌธ์ด๋ฉฐ UO ๋ช…๋ น์ด๋‚˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์ •ํ™•ํ•œ ๊ตฌ๋ฌธ

Option Explicit
Option Explicit On
Option Explicit Off

๋งค๊ฐœ๋ณ€์ˆ˜

  • On / Off โ€” On์€ ์—„๊ฒฉํ•œ ์„ ์–ธ ๊ฒ€์‚ฌ๋ฅผ ์ผœ๊ณ  Off๋Š” ๋•๋‹ˆ๋‹ค. Explicit ๋’ค์— ์˜ต์…˜์ด ์—†์œผ๋ฉด On์ž…๋‹ˆ๋‹ค. ํŒŒ์ผ์— ์ง€์‹œ๋ฌธ ์ž์ฒด๊ฐ€ ์—†์œผ๋ฉด ๊ธฐ์กด์˜ ๋น„์—„๊ฒฉ ๋ชจ๋“œ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ด„ํ˜ธ๋‚˜ ๋”ฐ์˜ดํ‘œ๋ฅผ ๋ถ™์ด์ง€ ๋งˆ์„ธ์š”.

๋ฐ˜ํ™˜๊ฐ’

๊ฐ’์ด ์—†์Šต๋‹ˆ๋‹ค. ์ง€์‹œ๋ฌธ์€ ํ‘œํ˜„์‹์ด ์•„๋‹ˆ๋ฉฐ TRUE/FALSE, ์ˆซ์ž, ID๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ์˜ RETURN์€ Main ๋˜๋Š” Enough์— ์†ํ•˜๋ฉฐ Option Explicit์˜ ๋ฐ˜ํ™˜์ด ์•„๋‹™๋‹ˆ๋‹ค.

๋™์ž‘

  • ๋ณ€์ˆ˜, ์ƒ์ˆ˜, ํ”„๋กœ์‹œ์ € ์•ž์— ํ•œ ๋ฒˆ๋งŒ ์ž‘์„ฑํ•˜์„ธ์š”. ์•ž์—๋Š” ๋นˆ ์ค„๊ณผ ์ฃผ์„์„ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘๋ณต๋˜๊ฑฐ๋‚˜ ๋’ค๋Šฆ์€ ์ง€์‹œ๋ฌธ์€ SC013 ์˜ค๋ฅ˜์ด๋ฉฐ, ๋‚˜์ค‘์— Off๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • On์—์„œ๋Š” ์„ ์–ธ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜ ์ฝ๊ธฐ๋‚˜ ๋Œ€์ž…์— ์†Œ์Šค ์œ„์น˜๊ฐ€ ํฌํ•จ๋œ SC006์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด ์ด๋ฆ„, FOR ์นด์šดํ„ฐ, ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์„ ๋ฐ›๋Š” ๊ฐ์ฒด๋„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. VAR/DIM/CONST, ๋งค๊ฐœ๋ณ€์ˆ˜, ์ด๋ฆ„ ์žˆ๋Š” CATCH ๋ณ€์ˆ˜๋กœ ์ด๋ฆ„์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. FOR VAR๋Š” ์นด์šดํ„ฐ๋ฅผ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.
  • ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉ ์ „์— ์„ ์–ธํ•˜์„ธ์š”. ํ•œ ํ”„๋กœ์‹œ์ €์˜ ์ง€์—ญ ๋ณ€์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์‹œ์ €์˜ ์ด๋ฆ„์„ ์„ ์–ธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ „์—ญ ์„ ์–ธ์€ ํ”„๋กœ์‹œ์ €์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„ ๊ฒ€์‚ฌ์ด๋ฉฐ ๋ชจ๋“  ๋ถ„๊ธฐ์—์„œ ์ดˆ๊ธฐํ™”๋จ์„ ์ฆ๋ช…ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์•„๋‹™๋‹ˆ๋‹ค.
  • ํŒŒ์„œ๊ฐ€ ํŒŒ์ผ ์ „์ฒด๋ฅผ ์ฝ๊ณ  ๋ถ„์„๊ธฐ๊ฐ€ ์„ ์–ธ์„ ํ™•์ธํ•˜๋ฉฐ ์—„๊ฒฉํ•œ ๊ฒ€์‚ฌ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉด ์ฒซ ๋ช…๋ น ์ „์— ์‹คํ–‰์„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋กœ๋“œํ•˜๋ฉด ์ด์ „ ์Šคํฌ๋ฆฝํŠธ์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์ƒˆ ํŒŒ์ผ์˜ ์˜ต์…˜์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. Off์—์„œ๋„ ๊ฒฝ๊ณ ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ณ  ์•„์ง ์—†๋Š” ๊ฐ’์„ ์ฝ์œผ๋ฉด ์‹คํ–‰ ์ค‘ ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ง€์‹œ๋ฌธ ์ž์ฒด๋Š” ๊ฒŒ์ž„ ๋™์ž‘์ด๋‚˜ ํŒจํ‚ท ์ „์†ก์„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™„์ „ํ•œ VB.NET ํ˜ธํ™˜์„ฑ์ด๋‚˜ ๊ฒŒ์ž„ ๋Œ€์ƒ์˜ ์กด์žฌ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ

1. ๋Œ€์ž… ์ „์— ์„ ์–ธ

# On์œผ๋กœ ๊ฒ€์‚ฌ๋ฅผ ์ผญ๋‹ˆ๋‹ค. DIM์ด count๋ฅผ Integer๋กœ ์„ ์–ธํ•˜๋ฏ€๋กœ 5๋ฅผ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Main์€ 5๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. count๋ฅผ ์„ ์–ธ๋˜์ง€ ์•Š์€ coutn์œผ๋กœ ๋ฐ”๊พธ๋ฉด SC006์œผ๋กœ ์‹คํ–‰์ด ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค.
Option Explicit On
SUB Main()
    DIM count AS Integer
    count = 5
    RETURN count
END SUB

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์‹คํ–‰ ์„ค๋ช…:

On์œผ๋กœ ๊ฒ€์‚ฌ๋ฅผ ์ผญ๋‹ˆ๋‹ค. DIM์ด count๋ฅผ Integer๋กœ ์„ ์–ธํ•˜๋ฏ€๋กœ 5๋ฅผ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Main์€ 5๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. count๋ฅผ ์„ ์–ธ๋˜์ง€ ์•Š์€ coutn์œผ๋กœ ๋ฐ”๊พธ๋ฉด SC006์œผ๋กœ ์‹คํ–‰์ด ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค.

2. ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ „์—ญ ์ƒ์ˆ˜

# ์˜ต์…˜ ์ƒ๋žต์€ On์ž…๋‹ˆ๋‹ค. minimum์€ ๊ฐ’์ด 3์ธ ์ „์—ญ ์ƒ์ˆ˜์ž…๋‹ˆ๋‹ค. amount๋Š” Enough์˜ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋ฉฐ Main์˜ ๊ฐ™์€ ์ด๋ฆ„ ์ง€์—ญ ๋ณ€์ˆ˜์™€๋Š” ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค. Enough๋Š” 5 >= 3์„ ๋น„๊ตํ•˜์—ฌ TRUE, ์ฆ‰ ์ˆซ์ž 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
Option Explicit
CONST minimum = 3
FUNCTION Enough(amount)
    RETURN amount >= minimum
END FUNCTION
SUB Main()
    VAR amount = 5
    RETURN Enough(amount)
END SUB

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์‹คํ–‰ ์„ค๋ช…:

์˜ต์…˜ ์ƒ๋žต์€ On์ž…๋‹ˆ๋‹ค. minimum์€ ๊ฐ’์ด 3์ธ ์ „์—ญ ์ƒ์ˆ˜์ž…๋‹ˆ๋‹ค. amount๋Š” Enough์˜ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋ฉฐ Main์˜ ๊ฐ™์€ ์ด๋ฆ„ ์ง€์—ญ ๋ณ€์ˆ˜์™€๋Š” ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค. Enough๋Š” 5 >= 3์„ ๋น„๊ตํ•˜์—ฌ TRUE, ์ฆ‰ ์ˆซ์ž 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

3. ์ด์ „ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰

# Off์—์„œ๋Š” DIM ์—†์ด ๋Œ€์ž…์œผ๋กœ legacyCounter๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Main์€ 7์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ˜ธํ™˜์„ฑ ์˜ˆ์ œ์—๋Š” ๊ฒฝ๊ณ ๊ฐ€ ๋‚จ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—„๊ฒฉํ•œ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๋ ค๋ฉด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  On์„ ์‚ฌ์šฉํ•˜์„ธ์š”.
Option Explicit Off
SUB Main()
    legacyCounter = 7
    RETURN legacyCounter
END SUB

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์‹คํ–‰ ์„ค๋ช…:

Off์—์„œ๋Š” DIM ์—†์ด ๋Œ€์ž…์œผ๋กœ legacyCounter๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Main์€ 7์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ˜ธํ™˜์„ฑ ์˜ˆ์ œ์—๋Š” ๊ฒฝ๊ณ ๊ฐ€ ๋‚จ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—„๊ฒฉํ•œ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๋ ค๋ฉด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  On์„ ์‚ฌ์šฉํ•˜์„ธ์š”.


en ยท ru ยท uk ยท fr ยท de ยท it ยท es ยท zh-tw ยท ja ยท ko

Basic