E D R , A S I H C RSS

LUA_5

1. …Œด๋ธ” ๊ธฐˆ

˜ค๋Š˜€ ๋ฃจ•„๋งŒด ๊ฐ–๊ณ  žˆ๋Š” ๋…Šน•œ ž๋ฃŒ๊ตฌกฐ …Œด๋ธ”— ๋Œ€•ด„œ •Œ•„๋ณด๊ฒ Šต๋‹ˆ๋‹ค. ๋ฃจ•„—„œ …Œด๋ธ”€ •ด‰ฌ …Œด๋ธ”๊ณผ ๊ฐ™€ ž๋ฃŒ ๊ตฌกฐ ดƒ˜ —ญ• „ •ฉ๋‹ˆ๋‹ค. …Œด๋ธ”€ ๊ฐฒดง€–ฅ  ”„๋กœ๊ทธ๋ž˜๋ฐ„ ๊ฐ€๋Šฅ•˜๊ฒŒ •ดฃผ๋Š” —ญ• ๋„ ๊ฒน•ฉ๋‹ˆ๋‹ค. ๋ฌดŠจ ด•ผ๊ธฐธง€๋Š” ฒœฒœžˆ „ค๋ช… ๋“œ๋ฆฌ๊ฒ Šต๋‹ˆ๋‹ค. šฐ„  ๊ฐ„๋‹จ•˜๊ฒŒ ž๋ฃŒ๊ตฌกฐ๋กœจ˜ …Œด๋ธ”„ ‚ดŽด ๋ณด๊ฒ Šต๋‹ˆ๋‹ค.

•ด‰ฌ …Œด๋ธ”๋กœ ‚ฌšฉ•˜๊ธฐ

HashT = {a = 1, b = 2, c = 3, d = 4 }
print( Hashta )
1
print( Hashtb )
2

—ฌ๊ธฐ„œ a ๋Š” ‚ค ๊ฐ’œผ๋กœ ‚ฌšฉ ๋˜—ˆ๊ณ  1๋Š” a— ๋งด•‘ ๋œ ๊ฐ’œผ๋กœ ‚ฌšฉ ๋˜—ˆŠต๋‹ˆ๋‹ค. ‚ค ๊ฐ’€ ๋‹จˆœžˆ ๊ฐ’œผ๋กœ ๋ง๊ณ  ๋ณ€ˆ˜๋กœ๋„ ‚ฌšฉ •  ˆ˜ žˆŠต๋‹ˆ๋‹ค.

HashT2 = { a = 1, b = 2, c= 3}
print ( HashT2.a )
1

๋Œ€‹  ๊ฐ’œผ๋กœ ‚ค๊ฐ’„ ‚ฌšฉ• ๋•Œ™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๋ณ€ˆ˜—„œ๋Š” …Œด๋ธ”๋ช…— . ๋กœ๋„ ๋ณ€ˆ˜๋ฅผ ฐธกฐ•  ˆ˜ žˆŠต๋‹ˆ๋‹ค. HashT2a ๋กœ๋„ ฐธกฐ ๊ฐ€๋Šฅ•ฉ๋‹ˆ๋‹ค.

๋งŒ•ฝ …Œด๋ธ”„ ๋งŒ๋“ค ๋•Œ ‚ค๊ฐ’ด —†๋‹ค๋ฉด –ด๋–ป๊ฒŒ ๋ ๊นŒš”? ๊ทธ๋Ÿผ  •ˆ˜˜•œผ๋กœ ˆœฐจ œผ๋กœ ๋ฒˆ˜ธ๊ฐ€ ๋งค๊ฒจง‘๋‹ˆ๋‹ค. ˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹คŒ๊ณผ ๊ฐ™Šต๋‹ˆ๋‹ค.

Fruit = { "apple","orange","banana" }
print ( Fruit1 )
apple

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ— …Œด๋ธ”€ ๋ฐฐ—ด๋กœ๋„ ‚ฌšฉ ๋  ˆ˜ žˆŠต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฐฐ—ด— ถ”๊ฐ€ œผ๋กœ insert •˜๊ณ  remove •ด ๋ณด๊ฒ Šต๋‹ˆ๋‹ค.

Fruit #Fruit + 1 = "grape" -- Fruit ˜ •„ด…œ ๊ฐฏˆ˜๋ฅผ –ป–ด + 1„ •ด„œ ๋งˆง€๋ง‰ ฒจž๋ฅผ ๊ตฌ•ด ๊ฐ’„ ๋Œ€ž…•œ๋‹ค.
print( Fruit4 )
grape

ด๋ ‡๊ฒŒ ๊ท€ฐฎ๊ฒŒ ถ”๊ฐ€๋ฅผ •  ˆ˜๋„ žˆง€๋งŒ, ๊ฐ„๋‹จžˆ table.insert(Fruit,"kiwi") ฒ˜๋Ÿผ ๊ฐ„๋‹จžˆ •  ˆ˜๋„ žˆŠต๋‹ˆ๋‹ค. ‚ญ œ๋Š” table.remove(Fruit,4) ๋กœ 4๋ฒˆงธ •„ด…œ„ ‚ญ œ •  ˆ˜ žˆŠต๋‹ˆ๋‹ค.

table.insert(Fruit,"mango")
print(Fruit6)
mango
table.remove(Fruit,6)
print(Fruit6)
nil

๊ทธ๋ฆฌ๊ณ  ๋งŒ•ฝ ๋ฐฐ—ด๋กœ ‚ฌšฉ•˜๋Š” …Œด๋ธ” ๋‚ด˜ ๊ฐ’๋“ค„  •๋ ฌ•˜๊ณ  ‹ถœผ๋ฉด table.sort๋ฅผ ‚ฌšฉ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
table.sort(Fruit)
for i = 1,#Fruit do print(Fruiti) end
apple
banana
kiwi
orange

2. …Œด๋ธ”๊ณผ •จˆ˜

ง€๊ธˆ๊นŒง€๋Š” ๊ฐ„๋‹จžˆ …Œด๋ธ”„ ž๋ฃŒ๊ตฌกฐ๋กœ ‚ฌšฉ•˜˜€๋Š”๋ฐ, ๋ฃจ•„—„œ๋Š” ๊˜ ๋ชจ๋“  ๊ฒƒด …Œด๋ธ”˜ ‚ค๋กœ ‚ฌšฉ ๋  ˆ˜ žˆ๊ธฐ ๋•Œ๋ฌธ— …Œด๋ธ”๊ณผ •จˆ˜๋ฅผ —ฐ๊ฒฐ •  ˆ˜ žˆŠต๋‹ˆ๋‹ค.

function Car(name)
local car_name = name
local function Go()
print( car_name .. " is running" )
end
return { Go = Go } -- —ฌ๊ธฐ„œ local function Go๋ฅผ ๋ฐ˜™˜•˜๋ฏ€๋กœ Car— ๋Œ€•œ ๋งด๋ฒ„ •จˆ˜๋กœ ‚ฌšฉ•  ˆ˜ žˆ๋‹ค.
end
myCar = Car("SM3") -- Car ๋ผ๋Š” •จˆ˜๋ฅผ †ต•ด …Œด๋ธ”„ ๋งŒ๋“ค๊ณ  …Œด๋ธ” ๋‚ด˜ •จˆ˜๋ฅผ †ต•ด ๊ฐฒด ง€–ฅ ฝ”๋“œ ž‘„
myCar.Go()
SM3 is running
myCar:Go()
SM3 is running

œ„˜ ˜ˆ œ๋งŒœผ๋กœ ๊ฐฒด ง€–ฅด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ ข€ ๋ถ€•œ ๋ฉดด žˆ๋Š” ๊ฒƒ ๊ฐ™๋„š”. ๊ทธ๋Ÿผ ข€ ๋” ๊ฐฒดง€–ฅ œผ๋กœ ๋ฐ”๊ฟ” ๋ณผ๊นŒš”?

Car = {}
function Car:new (obj)
obj = obj or {}
setmetatable(obj, self)
self.__index = self
return obj
end
mine = Car:new()

ด๋ ‡๊ฒŒ ๋งŒ๋“ค๋ฉด ข€ ๋” ๊ฐฒด ง€–ฅ œผ๋กœ ๋งŒ๋“ค ˆ˜ žˆŠต๋‹ˆ๋‹ค. —ฌ๊ธฐ„œ setmetatableด๋ผ๋Š” •จˆ˜๊ฐ€ ๋‚˜˜ต๋‹ˆ๋‹ค. metatable— ๋Œ€•ด„œ๋Š” ๋‹คŒ ๊ฐ•˜—„œ „ค๋ช…•˜๋„๋ก •˜๊ฒ Šต๋‹ˆ๋‹ค.

3. ๋งˆ๋ฌด๋ฆฌ
๊ฐ„๋‹จ•˜๊ฒŒ …Œด๋ธ”— ๋Œ€•ด„œ ๋ฐฐ› Šต๋‹ˆ๋‹ค. …Œด๋ธ”€ ๋ฃจ•„—„œ ๊ฐ€žฅ ค‘š”•œ ƒ€žŽด๊ณ  ๋” ๋‹ค–‘•˜๊ฒŒ ™œšฉ•  ˆ˜ žˆŠต๋‹ˆ๋‹ค. ๋‚˜ค‘— ข€ ๋” ๊นŠด …Œด๋ธ”— ๋Œ€•ด„œ จ ๋ณด๊ฒ Šต๋‹ˆ๋‹ค.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:37
Processing time 0.0167 sec