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

=, ==, <>, <, >, <=, >=

ClassicUO โ€ข Basic

๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ๋‘ ๊ฐ’์„ ๊ฒ€์‚ฌํ•˜์—ฌ IF, ๋ณ€์ˆ˜ ๋Œ€์ž… ๋˜๋Š” ๋ณด์กฐ ํ•จ์ˆ˜ RETURN์—์„œ ์‚ฌ์šฉํ•  ๋…ผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

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

left = right
left == right
left <> right
left < right
left > right
left <= right
left >= right

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

  • left โ€” ์™ผ์ชฝ ๊ฐ’: ๋ฆฌํ„ฐ๋Ÿด, ์„ ์–ธ๋œ ๋ณ€์ˆ˜, ์‹ ๋˜๋Š” ํ•จ์ˆ˜ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
  • right โ€” ์˜ค๋ฅธ์ชฝ ๊ฐ’์ž…๋‹ˆ๋‹ค. ํฌ๊ธฐ ๋น„๊ต๋Š” Integer ๋˜๋Š” Decimal์ด ํ•„์š”ํ•˜๋ฉฐ ๋™๋“ฑ ๋น„๊ต๋Š” ๋‹ค๋ฅธ ๊ฐ’ ์ข…๋ฅ˜๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • operator โ€” ์‹์—์„œ =์™€ ==๋Š” ๊ฐ™์Œ, <>๋Š” ๋‹ค๋ฆ„, <์™€ >๋Š” ์—„๊ฒฉํ•œ ํฌ๊ธฐ ๋น„๊ต, <=์™€ >=๋Š” ๊ฐ™์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋…๋ฆฝ๋œ name = expression ๋ฌธ์€ ๋Œ€์ž…์ž…๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜๊ฐ’

๋น„๊ต๊ฐ€ ์„ฑ๋ฆฝํ•˜๋ฉด Integer 1(TRUE), ์•„๋‹ˆ๋ฉด Integer 0(FALSE)์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด result=1์€ result=TRUE์™€ ๊ฐ™๊ณ  result=0์€ result=FALSE์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ˆ˜๋Ÿ‰์ด๋‚˜ ID๋Š” ์˜๋ฏธ๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. 2๋Š” 0์ด ์•„๋‹ˆ์ง€๋งŒ 2=TRUE๋Š” ๊ฑฐ์ง“์ž…๋‹ˆ๋‹ค. 0์ด ์•„๋‹Œ ์ˆ˜๋Ÿ‰์€ count<>0์œผ๋กœ ๊ฒ€์‚ฌํ•˜์„ธ์š”.

๋™์ž‘

  • Integer์™€ Decimal์€ ์ˆซ์ž๋กœ ๋น„๊ตํ•˜๋ฏ€๋กœ 5=5.0์€ ์ฐธ์ž…๋‹ˆ๋‹ค. ํ…์ŠคํŠธ๋Š” ์ž๋™ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š์•„ "5"=5๋Š” ๊ฑฐ์ง“์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋™๋“ฑ ๋น„๊ต๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ์„œ์ˆ˜ ๋น„๊ต์ด๋ฏ€๋กœ "Ore"<>"ore"์ž…๋‹ˆ๋‹ค. ํ…์ŠคํŠธ, ๋ฐฐ์—ด, ๊ฐ์ฒด, Unit์˜ <, >, <=, >= ํฌ๊ธฐ ๋น„๊ต๋Š” ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด๊ณผ ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐ์ฒด์˜ ๋™๋“ฑ ๋น„๊ต๋Š” ๋‚ด์šฉ์ด ์•„๋‹Œ ์ฐธ์กฐ ๋™์ผ์„ฑ์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. Unit๋ผ๋ฆฌ๋Š” ๊ฐ™์ง€๋งŒ Unit์€ ์ˆซ์ž 0์ด ์•„๋‹™๋‹ˆ๋‹ค. Integer/Decimal ์ˆซ์ž ์Œ์„ ์ œ์™ธํ•œ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜๋Š” ๊ฐ™์ง€ ์•Š์Šต๋‹ˆ๋‹ค. NaN์€ ์ž์‹ ๊ณผ๋„ ๋‹ค๋ฅด๋ฉฐ NaN์„ ํฌํ•จํ•œ ์ˆซ์ž ํฌ๊ธฐ ๋น„๊ต๋Š” ๋ชจ๋‘ ๊ฑฐ์ง“์ž…๋‹ˆ๋‹ค.
  • ์‚ฐ์ˆ ์„ ๋จผ์ € ๊ณ„์‚ฐํ•˜๊ณ  ์—ฐ์† ๋น„๊ต๋Š” ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. 1<3<2๋Š” (1<3)<2์ด๋ฏ€๋กœ ์ฐธ์ž…๋‹ˆ๋‹ค. ๋ฒ”์œ„ ๊ฒ€์‚ฌ๋Š” (low<=value) AND (value<=high)๋กœ ์“ฐ๊ณ  ๊ด„ํ˜ธ๋กœ ๋ฌถ์Œ์„ ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”.
  • ์ด์ง„ ๋ถ€๋™์†Œ์ˆ˜์ ์€ ๋ฐ˜์˜ฌ๋ฆผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทผ์‚ฌ ์ธก์ •๊ฐ’์€ ์ ์ ˆํ•œ ์Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ํ—ˆ์šฉ ์˜ค์ฐจ๋กœ Abs(actual-expected)<=tolerance๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ํ—ˆ์šฉ ์˜ค์ฐจ๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ •ํ•˜๋ฉฐ ์—ฐ์‚ฐ์ž๊ฐ€ ์ž๋™ ์ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • =๋Š” ๋™์ผํ•œ ์„ ์–ธ ํ˜•์‹๊ณผ ๋Œ€์‘ ํ•„๋“œ๋ฅผ ๋น„๊ตํ•˜๋ฉฐ <>๋Š” ๋ฐ˜๋Œ€ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์ฐธ์กฐ ํ•„๋“œ๋Š” ๋™์ผ์„ฑ์œผ๋กœ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์—”์ง„ ํ™•์žฅ์ด๋ฉฐ ๋ชจ๋“  VB.NET ๊ตฌ์กฐ์— =๊ฐ€ ์ง€์›๋œ๋‹ค๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ €์žฅ๋œ ํ•ด์‹œ์™€ ์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ ์Œ์œผ๋กœ ๊ณต์œ  ์ค‘์ฒฉ ๊ฐ’์„ ๋ฐ˜๋ณตํ•ด์„œ ํŽผ์น˜๋Š” ์ž‘์—…์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ

1. ๊ฒฝ๊ณ„๋ฅผ ํฌํ•จํ•œ ๋ฒ”์œ„์™€ TRUE

# InRange๋Š” value=4, low=2, high=5๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋‘ ๋น„๊ต ๋ชจ๋‘ 1์ด๊ณ  AND ๊ฒฐ๊ณผ๋„ 1์ž…๋‹ˆ๋‹ค. Main์€ accepted=TRUE๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์กฐ ํ•จ์ˆ˜์™€ ํ˜ธ์ถœ ์ฝ”๋“œ ์ „์ฒด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
Option Explicit On
FUNCTION InRange(value, low, high)
    RETURN (low <= value) AND (value <= high)
END FUNCTION
SUB Main()
    VAR accepted = InRange(4, 2, 5)
    IF accepted = TRUE THEN
        RETURN 1
    END IF
    RETURN 0
END SUB

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

InRange๋Š” value=4, low=2, high=5๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋‘ ๋น„๊ต ๋ชจ๋‘ 1์ด๊ณ  AND ๊ฒฐ๊ณผ๋„ 1์ž…๋‹ˆ๋‹ค. Main์€ accepted=TRUE๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์กฐ ํ•จ์ˆ˜์™€ ํ˜ธ์ถœ ์ฝ”๋“œ ์ „์ฒด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

2. ํ…์ŠคํŠธ, ์ˆซ์ž์™€ ๋Œ€์†Œ๋ฌธ์ž

# sameCase๋Š” "Ore"์™€ "ore"๋ฅผ ๋น„๊ตํ•˜์—ฌ 0์ž…๋‹ˆ๋‹ค. sameKind๋Š” "5"์™€ Integer 5๋ฅผ ๋น„๊ตํ•˜์—ฌ 0์ž…๋‹ˆ๋‹ค. converted๋Š” CDbl("5")๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์จ์„œ 1์ž…๋‹ˆ๋‹ค. CStr๋กœ ์ง„๋‹จ ๋ฌธ์ž์—ด "0:0:1"์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
Option Explicit On
SUB Main()
    VAR sameCase = ("Ore" = "ore")
    VAR sameKind = ("5" == 5)
    VAR converted = (CDbl("5") = 5)
    RETURN CStr(sameCase) + ":" + CStr(sameKind) + ":" + CStr(converted)
END SUB

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

sameCase๋Š” "Ore"์™€ "ore"๋ฅผ ๋น„๊ตํ•˜์—ฌ 0์ž…๋‹ˆ๋‹ค. sameKind๋Š” "5"์™€ Integer 5๋ฅผ ๋น„๊ตํ•˜์—ฌ 0์ž…๋‹ˆ๋‹ค. converted๋Š” CDbl("5")๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์จ์„œ 1์ž…๋‹ˆ๋‹ค. CStr๋กœ ์ง„๋‹จ ๋ฌธ์ž์—ด "0:0:1"์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

3. ์†Œ์ˆ˜์˜ ๊ทผ์‚ฌ ๋™๋“ฑ์„ฑ

# NearlyEqual์€ 0.1+0.2, expected=0.3, tolerance=0.000001์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์Œ์ˆ˜ ํ—ˆ์šฉ ์˜ค์ฐจ๋Š” ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. Abs๋Š” ์ฐจ์ด์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๊ณ  <=๋Š” ํ—ˆ์šฉ ๋ฒ”์œ„ ๋‚ด ํŽธ์ฐจ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. Main์€ 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ณด์กฐ ํ•จ์ˆ˜ ์ธ์ˆ˜๋ฅผ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.
Option Explicit On
FUNCTION NearlyEqual(actual, expected, tolerance)
    IF tolerance < 0 THEN
        RETURN FALSE
    END IF
    RETURN Abs(actual - expected) <= tolerance
END FUNCTION
SUB Main()
    RETURN NearlyEqual(0.1 + 0.2, 0.3, 0.000001)
END SUB

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

NearlyEqual์€ 0.1+0.2, expected=0.3, tolerance=0.000001์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์Œ์ˆ˜ ํ—ˆ์šฉ ์˜ค์ฐจ๋Š” ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. Abs๋Š” ์ฐจ์ด์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๊ณ  <=๋Š” ํ—ˆ์šฉ ๋ฒ”์œ„ ๋‚ด ํŽธ์ฐจ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. Main์€ 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ณด์กฐ ํ•จ์ˆ˜ ์ธ์ˆ˜๋ฅผ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.


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

Basic

โš ๏ธ **GitHub.com Fallback** โš ๏ธ