lua - Lazy Loading ์ง€์—ฐ ๋กœ๋”ฉ

์ง€์—ฐ ๋กœ๋”ฉ(lazy loading)์€ ํ•„์š”ํ•  ๋•Œ๋งŒ ๋ฆฌ์†Œ์Šค๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ธฐ๋ฒ•์œผ๋กœ, ์ดˆ๊ธฐ ๋กœ๋”ฉ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋‹ค. Lua์—์„œ ์ง€์—ฐ ๋กœ๋”ฉ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ง€์—ฐ ๋กœ๋”ฉ ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ํ•จ์ˆ˜๋กœ ๋ชจ๋“ˆ ๋กœ๋“œ: ๋ชจ๋“ˆ์„ ์ง์ ‘ ๋กœ๋“œํ•˜๋Š” ๋Œ€์‹ , ํ•„์š”ํ•  ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜์—ฌ ๋ชจ๋“ˆ์„ ๋กœ๋“œํ•œ๋‹ค. ๋ณ€์ˆ˜๋กœ ๋ชจ๋“ˆ ์ €์žฅ: ๋ชจ๋“ˆ์„ ๋กœ๋“œํ•œ ํ›„, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜์—ฌ ์ดํ›„์— ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์˜ˆ์ œ mymodule.lua (๋ชจ๋“ˆ ํŒŒ์ผ) local M = {} function M.hello() print("Hello from mymodule!") end function M.goodbye() print("Goodbye from mymodule!") end return M main.lua (๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ) local mymodule -- ๋ชจ๋“ˆ์„ ๋ฏธ๋ฆฌ ์„ ์–ธํ•˜์ง€๋งŒ ๋กœ๋“œํ•˜์ง€ ์•Š์Œ local function loadModule() if not mymodule then mymodule = require 'mymodule' -- ํ•„์š”ํ•  ๋•Œ ๋ชจ๋“ˆ ๋กœ๋“œ end end -- ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ชจ๋“ˆ์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ local condition = true if condition then loadModule() -- ๋ชจ๋“ˆ ๋กœ๋“œ mymodule.hello() -- ๋ชจ๋“ˆ์˜ ํ•จ์ˆ˜ ์‚ฌ์šฉ else print("๋ชจ๋“ˆ์„ ๋กœ๋“œํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.") end ์„ค๋ช… ๋ชจ๋“ˆ ํŒŒ์ผ: mymodule.lua ํŒŒ์ผ์—๋Š” ๋‘ ๊ฐœ์˜ ํ•จ์ˆ˜ hello์™€ goodbye๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๋‹ค. ...

2025-07-22 ยท 218 words

JSON - Lua Module

Intro ๊ฒฐ๋ก ์€ lua cjson์ด ๊ฐ€์žฅ ๋น ๋ฅด๋‹ค. ๊ทธ ๋‹ค์Œ์ด lunajson dkjson์€ ์ˆœ์ˆ˜ luaํŒŒ์ผ์ด๊ณ  ๋‹จ์ผ ํŒŒ์ผ์ด๋‹ค. ๋˜ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” json.lua ์ด๋‹ค. ๋น ๋ฅด๋‹ค๊ณ  ํ•˜๋Š”๋ฐโ€ฆ ๋น„๊ต์  ์ตœ์‹ ์ด๋‹ค. cjson์€ ๋น ๋ฅด๋‚˜ ๋ชจ๋“ˆ ์ปดํŒŒ์ผ์ด ํ•„์š”ํ•˜๊ณ  lunajson์€ ๋‹ค์Œ์œผ๋กœ ๋น ๋ฅด๊ณ  ์ˆœ์ˆ˜ luaํŒŒ์ผ์ด์ง€๋งŒ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋‹ค. dkjson์€ ์…‹ ์ค‘ ๊ฐ€์žฅ ํผํฌ๋จผ์Šค๊ฐ€ ๋‚ฎ์œผ๋‚˜ ๋‹จ์ผ ํŒŒ์ผ์ด๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜๋‹ค. Links https://github.com/grafi-tt/lunajson http://dkolf.de/src/dkjson-lua.fsl/home https://github.com/rxi/json.lua https://somedudesays.com/2019/12/using-json-with-lua

2022-11-07 ยท 55 words

CSV - Lua Module

ftcsv ์ถ”์ฒœ

2022-11-07 ยท 2 words