29๋ ๊ฐ์ ๊ฐ๋ฐ ๋์ 5.4์ XNUMX์ผ ๋ฃจ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ ๋ฒ์ ์ธ XNUMX๊ฐ ์กฐ์ฉํ๊ณ ๋์ ๋์ง ์๊ฒ ์ถ์๋์์ต๋๋ค.
Lua๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ํฌํจํ ์ ์๋ ๊ฐ๋จํ๊ณ ํด์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. ์ด๋ฌํ ํน์ฑ์ผ๋ก ์ธํด Lua๋ ํ๋ก๊ทธ๋จ(ํนํ ์ปดํจํฐ ๊ฒ์)์ ๊ตฌ์ฑ์ ํ์ฅํ๊ฑฐ๋ ์ค๋ช ํ๋ ์ธ์ด๋ก ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. Lua๋ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
์ด์ ๋ฒ์ (5.3.5)์ 10๋ 2018์ XNUMX์ผ์ ๋ฆด๋ฆฌ์ค๋์์ต๋๋ค.
์ ๋ฒ์ ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ
-
์ธ๋ ๊ธฐ๋ฐ์ ์๋ก์ด ๊ฐ๋น์ง ์ปฌ๋ ํฐ(generational). collectgarbage ํจ์์์ setpause ๋ฐ setstepmul ๋งค๊ฐ๋ณ์๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋์ incremental ๋งค๊ฐ๋ณ์๊ฐ ๊ถ์ฅ๋ฉ๋๋ค.
-
๋์คํ๋ ์ด๋ฅผ ๋นํ์ฑํํ๋ ๊ธฐ๋ฅ๊ณผ ํจ๊ป ๊ฒฝ๊ณ ๊ฒฝ๊ณ ๋ฅผ ๋ฐํํ๋ ์๋ก์ด ๊ธฐ๋ฅ;
-
math.random์ ์๋ก์ด ๊ตฌํ์ libc์์ ์ ๊ณตํ๋ ์๊ณ ๋ฆฌ์ฆ ๋์ xoshiro256** ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ณ ๋์๋ก ์์ฑ๊ธฐ๋ฅผ ์ด๊ธฐํํฉ๋๋ค.
-
์์ ๋ณ์;
-
"to-be-closed" ๋ณ์๋ ๋ฒ์๊ฐ ์ข ๋ฃ๋ ๋ __close ๋ฉ์๋๊ฐ ์คํ๋๋ ์ง์ญ ์์์ ๋๋ค.
-
์ ํจ์ lua_resetthread - ์คํ์ ์ง์ฐ๊ณ ๋ชจ๋ "๋ซํ" ๋ณ์๋ฅผ ๋ซ์ต๋๋ค.
-
์๋ก์ด ํจ์ coroutine.close - ์ง์ ๋ ์ฝ๋ฃจํด๊ณผ ๋ชจ๋ "๋ซ์ ์ ์๋" ๋ณ์๋ฅผ ๋ซ์ต๋๋ค.
-
์ฌ์ฉ์ ๋ฐ์ดํฐ(userdata)๋ ์ธ๋ฑ์ค๊ฐ ์ก์ธ์คํ๋ ๊ฐ ์งํฉ์ ํฌํจํ ์ ์์ต๋๋ค. ๊ทธ๋ค๊ณผ ํจ๊ป ์๋ํ๋๋ก ์๋ก์ด ๊ธฐ๋ฅ์ด ๋์ ๋์์ต๋๋ค: lua_newuserdatauv, lua_setiuservalue ๋ฐ lua_getiuservalue;
-
๋งค๊ฐ ๋ณ์์ ๋ํ ๋๋ฒ๊น ์ ๋ณด์ ํจ์์ ๋ฐํ ๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-
for ๋ฃจํ์์ ์ ์ ์ธ๋ฑ์ค๊ฐ ์ฌ์ฉ๋๊ณ ์ค๋ฒํ๋ก๊ฐ ๋ฐ์ํ๋ฉด ๋ฃจํ๊ฐ ์ข ๋ฃ๋ฉ๋๋ค.
-
์ผ์น ํญ๋ชฉ์ ๊ฒ์ํ๊ธฐ ์ํด ๋ฌธ์์ด ์์ ๋ถ๋ถ์ ์คํ์ ์ ์ง์ ํ๋ string.gmatch ํจ์์ ์ ํ์ ์ธ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
-
๋ฌธ์์ด์ ์ซ์๋ก ์์์ ์ผ๋ก ๋ณํํ๋ ๊ธฐ๋ฅ์ด ๋ฌธ์์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ด๋๋์์ผ๋ฉฐ ๋์์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฐ์ฐ "1" + "2"์ ๊ฒฐ๊ณผ๋ ์ด์ ๋ถ๋ ์์์ ์ด ์๋ ์ ์์ ๋๋ค.
-
๋ฉ๋ชจ๋ฆฌ ํ ๋น ๊ธฐ๋ฅ์์ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ด ์ค์ด๋ค๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
-
string.format ํจ์์ ์ ํ์ ๋ฌธ์ - %p(ํฌ์ธํฐ์ฉ);
-
utf8 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ต๋ 2ยณยน์ ๋ฌธ์ ์ฝ๋๋ฅผ ํ์ฉํฉ๋๋ค(ํน์ ํ๋๊ทธ๊ฐ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ์ต๋ 0x10FFFF์ ์ฝ๋๋ง ํ์ฉ๋๊ณ ์๋ก๊ฒ์ดํธ๋ ํ์ฉ๋์ง ์์).
-
๊ฐ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ ์ ์์๋ ๋ถ๋ ์ซ์๋ก ๋ณํ๋ฉ๋๋ค(์ด์ ์๋ ๋นํธ ํด๋ฆฌํ ๋ฐ์).
-
__lt ๋ฉํ๋ฉ์๋๋ ๋ ์ด์ __le ๋ฉํ๋ฉ์๋๋ฅผ ์๋ฎฌ๋ ์ดํธํ๋ ๋ฐ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ํ์ํ ๊ฒฝ์ฐ __le ๋ฉํ๋ฉ์๋๋ฅผ ๋ช ์์ ์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
-
๋์ผํ ์ด๋ฆ์ ๋ ์ด๋ธ์ด ํ์ฌ ๋ฒ์์ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ(์ธ๋ถ ๋ฒ์์ ์ ์๋ ๊ฒฝ์ฐ์๋) goto ๋ฌธ์ ๋ ์ด๋ธ์ ๋ง๋ค ์ ์์ต๋๋ค.
-
__gc ๋ฉํ๋ฉ์๋๋ ๋จ์ํ ํจ์ ์ด์์ด ๋ ์ ์์ต๋๋ค. ๋ฉ์๋ ํธ์ถ ์๋๊ฐ ์คํจํ๋ฉด ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
-
์ธ์ ๊ธฐ๋ฅ์ ๊ฐ ์ธ์์ ๋ํด tostring์ ํธ์ถํ์ง ์์ง๋ง ์์ฒด ๋ด๋ถ ๋ณํ์ ์ฌ์ฉํฉ๋๋ค.
-
io.lines ํจ์๋ ์ด์ ๋์์ ์๋ฎฌ๋ ์ดํธํ๊ธฐ ์ํด ํ๋ ๋์ ๋ค ๊ฐ์ ๊ฐ ์งํฉ์ ๋ฐํํ๊ณ ๋ค๋ฅธ ํจ์๋ฅผ ํธ์ถํ ๋ ๋งค๊ฐ ๋ณ์๋ก ๋์ฒดํ๋ ๊ฒฝ์ฐ ํธ์ถ์ ๊ดํธ๋ก ๋ฌถ์ต๋๋ค.
์ถ์ฒ : linux.org.ru