Π‘Π»Π΅Π΄ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½Π° 29 ΡΠ½ΠΈ ΡΠΈΡ ΠΎ ΠΈ Π½Π΅Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ ΠΈΠ·Π»Π΅Π·Π΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Lua β 5.4.
Lua Π΅ ΠΏΡΠΎΡΡ Π΅Π·ΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Π»Π΅ΡΠ½ΠΎ Π²Π³ΡΠ°Π΄Π΅Π½ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΡΠ°Π΄ΠΈ ΡΠ΅Π·ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, Lua ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΠΎΠΊΠΎ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΡΠΈΡΠΈΡΠ΅Π»Π΅Π½ Π΅Π·ΠΈΠΊ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ (ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π² ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈ ΠΈΠ³ΡΠΈ). Lua ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MIT.
ΠΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ (5.3.5) ΠΈΠ·Π»Π΅Π·Π΅ Π½Π° 10 ΡΠ»ΠΈ 2018 Π³ΠΎΠ΄ΠΈΠ½Π°.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ
Π½ΠΎΠ² ΡΠ±ΠΎΡΠ½ΠΈΠΊ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ (generational). Π ΡΡΠ½ΠΊΡΠΈΡΡΠ° collectgarbage ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ setpause ΠΈ setstepmul ΡΠ° ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ incremental;
Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ warn Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡ Π½ΠΎΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅;
Π½ΠΎΠ²Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ math.random ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌ xoshiro256 Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈΡ libc ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΡΠΈΡΠ»ΠΎ;
ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ (constant variables);
Β«Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈΒ» (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 ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ ΡΠ°ΠΌΠΎ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΊΠΎ ΠΎΠΏΠΈΡΡΡ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΠΈΠΊΠ°Π½ ΠΌΠ΅ΡΠΎΠ΄ΡΡ Π½Π΅ ΡΡΠΏΠ΅Π΅, ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅;
Π€ΡΠ½ΠΊΡΠΈΡΡΠ° print Π½Π΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π° tostring Π·Π° Π²ΡΠ΅ΠΊΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ²ΠΎΠΈΡΠ΅ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ;
Π€ΡΠ½ΠΊΡΠΈΡΡΠ° io.lines Π²ΡΡΡΠ° Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠ΅ΡΠΈΡΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π΅Π΄Π½Π°, Π·Π° Π΄Π° Π΅ΠΌΡΠ»ΠΈΡΠ° ΡΡΠ°ΡΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΎΠ±Π²ΠΈΠΉΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π² ΡΠΊΠΎΠ±ΠΈ, Π°ΠΊΠΎ Π³ΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²ΡΡΠ΅ ΠΊΠ°ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Π΄ΡΡΠ³Π° ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
