ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ lua ΡΠΊΡΠΈΠΏΡ ΡΠ°ΠΌΠΏ
ΠΠ°ΠΉΠ΄ #3 | Π Π°Π±ΠΎΡΠ° Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ SAMP.lua
UFDHBI
https://vk.me/gfrtgf
ΠΡΠ΅, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ².
Π― ΡΠΎΠ·Π΄Π°Π» ΡΠ°ΠΉΠ» Hooks.lua, ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° windows 1251.
ΠΠΎΠΌΠ΅ΡΡΠΈΠ» ΡΡΠ΄Π° ΡΠ°Π±Π»ΠΎΠ½:
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π½Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ:
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΡΠ»ΠΎΠ²ΠΈΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄Π΅Π½Π΅Π½ΠΈΠΈ ΠΈΠ³ΡΠΎΠΊΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ, ΠΏΠΈΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠΎΠΌ ΡΡΠΎ ΠΈΠ³ΡΠΎΠΊ ΠΏΡΠΈΡΠΎΠ΅Π΄Π΅Π½ΠΈΠ»ΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ, Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊ ΠΌΡ Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΡΠ²Π΅Π΄Π΅ΠΌ Π² ΡΠ°Ρ ΠΊΡΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄Π΅Π½ΠΈΠ»ΡΡ ΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌ ID.
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΠ³Π΄Π° ΠΊΡΠΎ-ΡΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ°ΡΠ΅:
nickname[id] ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΠΌ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±ΡΠ»ΠΈ Π·Π΅Π»Π΅Π½ΡΠΌΠΈ.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΠ°ΠΉΠ΄ ΠΡΡ ΠΎ Lua ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π΅ Π΄Π»Ρ MoonLoader
ΠΠ»Ρ Π»ΡΠ³ΠΊΠΎΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Lua ΡΠΊΡΠΈΠΏΡΠΎΠ² Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Lua Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π±Π»ΠΎΠΊΠ½ΠΎΡ Windows Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠ»ΠΎΡ ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° MoonLoader Π΅ΡΡΡ Π² Atom ΠΈ Notepad++, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Visual Studio Code ΠΈ Sublime Text.
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π ΠΌΠ΅Π½Ρ File Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ Open Folder. ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ Π΄ΠΎ ΠΏΠ°ΠΏΠΊΠΈ moonloader, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ°ΠΊ ΠΈ Π² Atom, Π·Π΄Π΅ΡΡ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·Π° ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΡΠΎΡΠ½Π΅Π΅ «ΠΠ°ΠΏΠΊΠ° ΠΊΠ°ΠΊ ΠΡΠΎΠ΅ΠΊΡ». Π ΠΌΠ΅Π½Ρ «Π€Π°ΠΉΠ»» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ «ΠΡΠΊΡΡΡΡ ΠΠ°ΠΏΠΊΡ ΠΊΠ°ΠΊ ΠΡΠΎΠ΅ΠΊΡ» ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ «moonloader».
ΠΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ°Π΄ Π»Π΅Π½ΡΠΎΠΉ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ ΠΠΏΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ. Π ΠΌΠ΅Π½Ρ ΡΠ»Π΅Π²Π° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ ΠΠΎΠ²ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ°Π²ΠΈΠΌ ΡΠ»Π°ΠΆΠΎΠΊ Π½Π° ΡΠΏΠΈΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Windows-1251
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ² Lua ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ MoonLoader, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΎΡ ΡΠ΅ΠΎΡΠΈΠΈ ΠΊ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅, Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½Π΅ Π²ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, Π·Π° ΠΏΠΎΠ»Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π½Π° Π²ΠΈΠΊΠΈ.
Π‘ΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΊΠΎΠ»Π±ΡΠΊΠΈ
Π‘ΠΎΠ±ΡΡΠΈΡΠΌΠΈ, Π° ΡΠΎΡΠ½Π΅Π΅ ΠΈΡ
ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, Π² MoonLoader Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Π² ΠΈΠ³ΡΠ΅, ΡΡΠ΅Π±ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΊΡΠΈΠΏΡΡ, Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ.
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠΊΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ addEventHandler. Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
Π‘ΠΊΡΠΈΠΏΡΡ Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΠΈΠΌΠ΅Ρ: onScriptTerminate Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠΊΡΠΈΠΏΡΠ°
Π‘ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π½Π°ΠΊΠΎΠΌΡ ΠΈ ΠΏΡΠΈ ΡΡΠΈΡ Π·Π½Π°Π½ΠΈΡΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π·Π°Π΄Π°Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΈΠΊ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ .
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
ΠΠΎΠ΄ΡΠ»ΠΈ Π΄Π΅Π»ΡΡΡΡ Π½Π° Π΄Π²Π° ΡΠΈΠΏΠ°: Lua ΠΈ DLL. Lua-ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΈΡΡΡΡΡ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, Π½Π° ΡΠ·ΡΠΊΠ΅ Lua ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ Lua-ΡΠΊΡΠΈΠΏΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π°Π·ΠΎΠ²ΡΠΌ Π΅Π³ΠΎ example:
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΠ°ΠΉΠ΄ ΠΡΡ ΠΎ Lua ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π΅ Π΄Π»Ρ MoonLoader
ΠΠ»Ρ Π»ΡΠ³ΠΊΠΎΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Lua ΡΠΊΡΠΈΠΏΡΠΎΠ² Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Lua Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π±Π»ΠΎΠΊΠ½ΠΎΡ Windows Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠ»ΠΎΡ ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° MoonLoader Π΅ΡΡΡ Π² Atom ΠΈ Notepad++, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Visual Studio Code ΠΈ Sublime Text.
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π ΠΌΠ΅Π½Ρ File Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ Open Folder. ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ Π΄ΠΎ ΠΏΠ°ΠΏΠΊΠΈ moonloader, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ°ΠΊ ΠΈ Π² Atom, Π·Π΄Π΅ΡΡ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·Π° ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΡΠΎΡΠ½Π΅Π΅ «ΠΠ°ΠΏΠΊΠ° ΠΊΠ°ΠΊ ΠΡΠΎΠ΅ΠΊΡ». Π ΠΌΠ΅Π½Ρ «Π€Π°ΠΉΠ»» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ «ΠΡΠΊΡΡΡΡ ΠΠ°ΠΏΠΊΡ ΠΊΠ°ΠΊ ΠΡΠΎΠ΅ΠΊΡ» ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ «moonloader».
ΠΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ°Π΄ Π»Π΅Π½ΡΠΎΠΉ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ ΠΠΏΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ. Π ΠΌΠ΅Π½Ρ ΡΠ»Π΅Π²Π° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ ΠΠΎΠ²ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ°Π²ΠΈΠΌ ΡΠ»Π°ΠΆΠΎΠΊ Π½Π° ΡΠΏΠΈΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Windows-1251
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ² Lua ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ MoonLoader, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΎΡ ΡΠ΅ΠΎΡΠΈΠΈ ΠΊ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅, Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½Π΅ Π²ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, Π·Π° ΠΏΠΎΠ»Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π½Π° Π²ΠΈΠΊΠΈ.
Π‘ΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΊΠΎΠ»Π±ΡΠΊΠΈ
Π‘ΠΎΠ±ΡΡΠΈΡΠΌΠΈ, Π° ΡΠΎΡΠ½Π΅Π΅ ΠΈΡ
ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, Π² MoonLoader Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Π² ΠΈΠ³ΡΠ΅, ΡΡΠ΅Π±ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΊΡΠΈΠΏΡΡ, Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ.
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠΊΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ addEventHandler. Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
Π‘ΠΊΡΠΈΠΏΡΡ Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΠΈΠΌΠ΅Ρ: onScriptTerminate Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠΊΡΠΈΠΏΡΠ°
Π‘ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π½Π°ΠΊΠΎΠΌΡ ΠΈ ΠΏΡΠΈ ΡΡΠΈΡ Π·Π½Π°Π½ΠΈΡΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π·Π°Π΄Π°Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΈΠΊ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ .
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
ΠΠΎΠ΄ΡΠ»ΠΈ Π΄Π΅Π»ΡΡΡΡ Π½Π° Π΄Π²Π° ΡΠΈΠΏΠ°: Lua ΠΈ DLL. Lua-ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΈΡΡΡΡΡ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, Π½Π° ΡΠ·ΡΠΊΠ΅ Lua ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ Lua-ΡΠΊΡΠΈΠΏΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π°Π·ΠΎΠ²ΡΠΌ Π΅Π³ΠΎ example:
ΠΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΆΡΠ²Π°Π½ΠΎ Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΏΠΎ LUA ΡΠ°ΡΡΡ1!
Π‘ΠΊΡΠΈΠΏΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Lua
ΠΠ°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Lua ΡΠΊΡΠΈΠΏΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΡΠΈΠ½Π°Π»ΠΎΡΡ Π±Ρ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π‘ΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
Π‘ΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ, ΡΠΎΡΡΠΎΡΡΠΈΠΌ Π²ΡΠ΅Π³ΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΠΊ ΠΈ Π²Π΅ΡΡΠΌΠ° ΡΠ»ΠΎΠΆΠ½ΡΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ Π΄Π΅ΡΡΡΠΊΠΈ, ΡΠΎΡΠ½ΠΈ ΠΈ Π΄Π°ΠΆΠ΅ ΡΡΡΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΡΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΉ (;). ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π΅ΡΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°:
Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π² Lua
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Lua
ΠΠΌΠ΅Π½Π°ΠΌΠΈ (ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ) ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Lua ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ· Π±ΡΠΊΠ², ΡΠΈΡΡ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Π½Π΅ Ρ ΡΠΈΡΡΡ.
Π―Π·ΡΠΊ Lua ΡΠ°Π·Π»ΠΈΡΠ°Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ abc, Abc, ABC ΡΠ²Π»ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΠ»ΠΎΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ·ΡΠΊΠΎΠΌ Lua ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ :
and break do else elseif
end false for function if
in local nil not or
repeat return then true until
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π°, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ΄ΡΡ Π·Π°Π³Π»Π°Π²Π½ΡΠ΅ Π±ΡΠΊΠ²Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, _VERSION) ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ.
ΠΠ°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π±ΡΠ²Π°ΡΡ Π² Lua?
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Lua ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΠ²Π½ΠΎ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ, ΠΎΠ½Π° ΡΡΠΈΡΠ°Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Lua
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π°ΡΡ nil.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π΄Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Π° Π»ΡΠ±ΠΎΠΌΡ Lua-ΠΊΠΎΠ΄Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ Π² ΡΡΠΎΠΉ ΡΡΠ΅Π΄Π΅.
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΠ² Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ nil.
g = 1 β ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ g ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 1
g = nil β ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ g
ΠΡΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ»ΡΠΌΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠ΅ΡΠ΅Π· Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ _G. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ»ΡΠΌΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΌΡ _G), ΡΠΎ _G._G == _G.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Lua
ΠΡΠ±ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΠ²Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° local. ΠΠ±ΡΡΠ²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ nil.
local a β ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ a
local b = 1 β ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ b, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1
local c, d = 2, 3 β ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ c ΠΈ d, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 2 ΠΈ 3
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° Π±Π»ΠΎΠΊΠ°.
ΠΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ°ΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ ΡΠ°Π½ΡΡΠ΅ΠΌΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠΎΠ΄ Π±Π»ΠΎΠΊΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ:
ΡΠ΅Π»ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ (if-then, else, for, while, repeat);
ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, Π·Π°ΠΊΠ»ΡΡΡΠ½Π½ΡΠΉ Π² ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° do. end.
ΠΡΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π²Π½Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π±Π»ΠΎΠΊΠ°, Π΅Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠΊΡΠΈΠΏΡΠ°.
a = 5 β Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a
local i = 1 β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i Π»ΠΎΠΊΠ°Π»ΡΠ½Π° Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠΊΡΠΈΠΏΡΠ°
while i 1, 4, 9, 16, 25
local a β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π° Π»ΠΎΠΊΠ°Π»ΡΠ½Π° Π²Π½ΡΡΡΠΈ then
local a = 20 β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π° Π»ΠΎΠΊΠ°Π»ΡΠ½Π° Π²Π½ΡΡΡΠΈ do-end
ΠΠΎΠ³Π΄Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Β«Π·Π°ΡΠΎΡΠ΅Π½ΠΈΡΒ» Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ Π»ΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π² Lua Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ).
Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Lua
ΠΠ°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ·ΡΠΊ Lua?
Lua ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ :
1. Nil (Π½ΠΈΡΠ΅Π³ΠΎ). Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡ ΡΠΈΠΏ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ β nil.
2. Boolean (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ). Π Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠΈΠΏΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ false (Π»ΠΎΠΆΡ) ΠΈ true (ΠΈΡΡΠΈΠ½Π°).
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ nil ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ false. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΈΡΠ»ΠΎ 0 ΠΈ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ true.
3. Number (ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ). Π‘Π»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
Π ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π΄ΡΠΎΠ±Π½ΡΡ ΡΠ°ΡΡΡ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Β«eΒ» ΠΈΠ»ΠΈ Β«EΒ». Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ 0x.
ΠΡΠΈΠΌΠ΅ΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ: 3, 3.0, 3.1415926, 314.16e-2, 0xff.
4. String (ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ). Π‘Π»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ.
Π‘ΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π·Π°ΠΊΠ»ΡΡΡΠ½Π½ΠΎΠΉ Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ:
b = ‘ΡΡΠΎ Π²ΡΠΎΡΠ°Ρ ΡΡΡΠΎΠΊΠ°’
Π‘ΡΡΠΎΠΊΠΈ, Π·Π°ΠΊΠ»ΡΡΡΠ½Π½ΡΠ΅ Π² Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ, ΠΌΠΎΠ³ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ C-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ), Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° Β«\Β» (ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»ΡΡ):
\t (Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π±ΡΠ»ΡΡΠΈΡ),
Π‘ΠΈΠΌΠ²ΠΎΠ» Π² ΡΡΡΠΎΠΊΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ²ΠΎΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
Π³Π΄Π΅ ddd β ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΡΡΡΡ ΡΠΈΡΡ.
ΠΡΠΎΠΌΠ΅ ΠΊΠ°Π²ΡΡΠ΅ΠΊ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ:
local a = [[ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Β«ΠΡΠΎΠ½ΠΎΡΒ»]]
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Ρ. Π΅. ΡΡΡΠΎΠΊΠ° ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½Π°:
ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ°.
ΠΠ²ΠΎΠΉΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΡΡΠ°ΡΡ, ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Β«ΡΠ°Π²Π½ΠΎΒ» (=):
local a = [=[ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ [[string]] Π² Lua]=]
β Π±ΡΠ΄Π΅Ρ ΡΡΠΎΠΊΠ°: Β«ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ [[string]] Π² LuaΒ»
5. Function (ΡΡΠ½ΠΊΡΠΈΡ). Π€ΡΠ½ΠΊΡΠΈΠΈ Π² Lua ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
6. Table (ΡΠ°Π±Π»ΠΈΡΠ°). Π’Π°Π±Π»ΠΈΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ°Ρ Β«ΠΊΠ»ΡΡΒ» β Β«Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β», ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠΌΠΈ ΠΈΠ»ΠΈΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ°ΠΊ ΠΊΠ»ΡΡΠΈ, ΡΠ°ΠΊ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ nil. Π’Π°Π±Π»ΠΈΡΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°: Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ β Π² ΡΡΠ°ΡΡΠ΅ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ Π² LuaΒ»
7. Userdata (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅). Π―Π²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΎΠ±ΡΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ . ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Lua-ΡΠΊΡΠΈΠΏΡΠ΅.
Userdata ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠ»ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Lua Π΄Π»Ρ Β«CronosPROΒ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎΡ ΡΠΈΠΏ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠ°ΠΊ:
Π±Π°Π½ΠΊΠΈ Π΄Π°Π½Π½ΡΡ (ΠΊΠ»Π°ΡΡ Bank);
Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (ΠΊΠ»Π°ΡΡ Base);
Π·Π°ΠΏΠΈΡΠΈ (ΠΊΠ»Π°ΡΡ Record) ΠΈ Ρ. ΠΏ.
8. Thread (ΠΏΠΎΡΠΎΠΊ). Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΈ ΠΏΠΎΡΠΎΠΊΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ Lua.
ΠΠ°ΠΊ Π² Lua Π·Π°Π΄Π°ΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ?
Lua Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ±ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»Π° ΡΠ°Π½Π΅Π΅).
a = 123 β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ number
a = Β«123Β» β ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ string
a = true β ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ boolean
a = <> β ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ table
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΠ° table, function, thread ΠΈ userdata Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ°ΠΌΠΈΡ Π΄Π°Π½Π½ΡΡ , Π° Ρ ΡΠ°Π½ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π² ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π½ΠΈΡ .
a = <> β ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ. Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ a ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΡ
b = a β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ b ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΡ ΠΆΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΡΡΠΎ ΠΈ a
a[1] = 10 β ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ 1 ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 10
ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ°ΠΊ Π² Lua ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ?
Π’ΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΠΎΠ³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ type. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° (Β«nilΒ», Β«numberΒ», Β«stringΒ», Β«booleanΒ», Β«tableΒ», Β«functionΒ», Β«threadΒ», Β«userdataΒ»).
t = type (Β«ΡΡΠΎ ΡΡΡΠΎΠΊΠ°Β») β t ΡΠ°Π²Π½ΠΎ Β«stringΒ»
t = type (123) β t ΡΠ°Π²Π½ΠΎ Β«numberΒ»
t = type (type) β t ΡΠ°Π²Π½ΠΎ Β«functionΒ»
t = type (true) β t ΡΠ°Π²Π½ΠΎ Β«booleanΒ»
t = type (nil) β t ΡΠ°Π²Π½ΠΎ Β«nilΒ»
t = type (CroApp.GetBank()) β t ΡΠ°Π²Π½ΠΎ Β«userdataΒ»
ΠΠ°ΠΊ Π² Lua ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ?
Lua ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠΈΡΠ»Π° Π² ΡΡΡΠΎΠΊΠΈ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠΌ Π² Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΠΈΡΠ»ΠΎ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΡΡΡΠ΅ΡΠΈΠ²ΡΠ΅Π΅ΡΡ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅, Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² ΡΡΡΠΎΠΊΡ.
a = Β«10Β» + 2 β a ΡΠ°Π²Π½ΠΎ 12
a = Β«10Β» + 2 β a ΡΠ°Π²Π½ΠΎ Β«10 + 2Β»
a = Β«ΡΡΡΠΎΠΊΠ°Β» + 2 β ΠΡΠΈΠ±ΠΊΠ°! ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Β«ΡΡΡΠΎΠΊΠ°Β» Π² ΡΠΈΡΠ»ΠΎ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ tostring.
a = tostring (10) β a ΡΠ°Π²Π½ΠΎ Β«10Β»
a = tostring (true) β a ΡΠ°Π²Π½ΠΎ Β«trueΒ»
a = tostring (nil) β a ΡΠ°Π²Π½ΠΎ Β«nilΒ»
a = tostring (<[1] = Β«ΡΡΠΎ ΠΏΠΎΠ»Π΅ 1Β»>) β a ΡΠ°Π²Π½ΠΎ Β«table: 06DB1058Β»
ΠΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°Π±Π»ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ tostring Π½Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ render.
a = render (10) β a ΡΠ°Π²Π½ΠΎ Β«10Β»
a = render (true) β a ΡΠ°Π²Π½ΠΎ Β«trueΒ»
a = render (nil) β a ΡΠ°Π²Π½ΠΎ Β«nilΒ»
ΠΠ»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΈΡΠ»ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ tonumber. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΠΈΡΠ»ΠΎ (ΠΈΠ»ΠΈ ΡΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠ»ΠΎΠΌ), ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ nil.
a = tonumber (Β«10Β») β a ΡΠ°Π²Π½ΠΎ Β«10Β»
a = tonumber (Β«10Β»..».5″) β a ΡΠ°Π²Π½ΠΎ 10.5
a = tonumber (true) β a ΡΠ°Π²Π½ΠΎ Β«nilΒ»
a = tonumber (nil) β a ΡΠ°Π²Π½ΠΎ Β«nilΒ»
Π Π°ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π² Lua
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π² Lua Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π΄Π²ΡΠΌΡ Π·Π½Π°ΠΊΠ°ΠΌΠΈ Β«ΠΌΠΈΠ½ΡΡΒ» (—) ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ.
local a = 1 β ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠ»ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Β«—Β» ΠΈΠ΄ΡΡ Π΄Π²Π΅ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ([[), ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΌ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ Π΄Π²ΡΡ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ (]]).
local a = 1 β [[ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΉ
ΠΠ²ΠΎΠΉΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΡΡΠ°ΡΡ, ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° (=):
local a = [[ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Β«ΠΡΠΎΠ½ΠΎΡΒ»]] β [=[
local a = [[ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Β«ΠΡΠΎΠ½ΠΎΡΒ»]]
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Β«=Β» ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ:
local a = [=[ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ [[string]] Π² ΡΠ·ΡΠΊΠ΅ Lua]=]
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π² Lua
Π Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ , Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° Lua, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΈΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ:
1. ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Lua ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
^ (Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ);
% (ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ).
ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΊΠ°ΠΊ ΠΊ ΡΠΈΡΠ»Π°ΠΌ, ΡΠ°ΠΊ ΠΈ ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² ΡΠΈΡΠ»Π°.
2. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ.
Π Lua Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π²Π΅Π»ΠΈΡΠΈΠ½:
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ false.
ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠ΅Π» Π² ΡΡΡΠΎΠΊΠΈ (ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ) ΠΏΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Ρ. Π΅. Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Β«0Β» == 0 Π΄Π°ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ false.
3. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ:
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ and Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false ΠΈΠ»ΠΈ nil. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΎΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ (ΠΏΡΠΈΡΡΠΌ ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°).
a = (nil and 5) β a ΡΠ°Π²Π½ΠΎ nil
a == (false and 5) β a ΡΠ°Π²Π½ΠΎ false
a == (4 and 5) β a ΡΠ°Π²Π½ΠΎ 5
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ or Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ false ΠΈ Π½Π΅ nil, ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΎΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄.
a == (4 or 5) β a ΡΠ°Π²Π½ΠΎ 4
a == (false or 5) β a ΡΠ°Π²Π½ΠΎ 5
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ and ΠΈ or ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΡ ΡΠΈΠΏΠΎΠ².
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ and ΠΈ or Π²ΡΡΠΈΡΠ»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π° ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π²ΡΠΎΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ Π½Π΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
a == (4 or f()) β Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ f() Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ not Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true ΠΈΠ»ΠΈ false.
4. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ.
ΠΠ»Ρ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ (ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ) ΡΡΡΠΎΠΊ ΡΠ»ΡΠΆΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡβ¦ (Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ).
a = Β«ΠΡΠΎΠ½ΠΎΡΒ»..»-«..Β«ΠΠ½ΡΠΎΡΠΌΒ» β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«ΠΡΠΎΠ½ΠΎΡ-ΠΠ½ΡΠΎΡΠΌΒ»
ΠΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΎΠ±Π° ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π° ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΡΠ»Π°ΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΡΠΎΠΊΠΈ.
a = 0..1 β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«01Β»
5. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ.
Π Lua ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄Π»ΠΈΠ½Ρ #, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ.
len = #a β len ΡΠ°Π²Π½ΠΎ 6
len = #Β«Π΅ΡΡ ΡΡΡΠΎΠΊΠ°Β» β len ΡΠ°Π²Π½ΠΎ 10
ΠΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² Lua
Π ΡΠ·ΡΠΊΠ΅ Lua Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ (Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ):
ΠΡΠ·ΠΎΠ² ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈΠ· ΡΠΎΡΠΌ
Π‘ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΌΠΎΠΉ (Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΡ) ΡΠ²ΡΠ·Π°Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠΎΡΠΌΡ ΠΈ Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, Π΅Ρ ΡΠΊΡΠΈΠΏΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΡ ΡΠΎΡΠΌΡ ΠΈΠ»ΠΈ Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΡΠΎΠΌΡ ΡΠΎΠ±ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ ΡΠΎΡΠΌΡ, Ρ ΠΎΡΡ ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ module, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΡΠΎΡΠΌΡ Π±Π΅Π· ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° local, Π½Π΅ Π²ΡΠ½ΠΎΡΡΡΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄ΡΡΠ³ΠΈΡ ΡΠΎΡΠΌ, Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ _G:
ΠΡΡΠ³ΠΎΠΉ ΡΠΊΡΠΈΠΏΡ ΡΠΎΡΠΌ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ»ΠΎΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ)
Π ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ Lua ΠΎΡΠ½ΠΎΡΡΡΡΡ:
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΊΠ»ΠΎΠ².
ΠΡΡΠΏΠΏΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π° Π² Π±Π»ΠΎΠΊ (ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ) ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ doβ¦ end.
ΠΠ»ΠΎΠΊ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
a = 5 β Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a
local a = 20 β Π²Π½ΡΡΡΠΈ do-end ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π°
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π² Lua
ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Ρ ΡΠ°Π±Π»ΠΈΡΡ. Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
a = 1 β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ a ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1
a = b + c β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ a ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π° ΡΡΠΌΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ b ΠΈ Ρ
a = f(x) β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ a ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ f(x)
Π Lua Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ ΡΠ»Π΅Π²Π° ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΡΠΏΡΠ°Π²Π° ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ:
a, b = 1, 5*c β a ΡΠ°Π²Π½ΠΎ 1; b ΡΠ°Π²Π½ΠΎ 5*c
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Β«Π»ΠΈΡΠ½ΠΈΠΌΒ» ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ nil.
a, b, c = 1, 2 β a ΡΠ°Π²Π½ΠΎ 1; b ΡΠ°Π²Π½ΠΎ 2; c ΡΠ°Π²Π½ΠΎ nil
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Β«Π»ΠΈΡΠ½ΠΈΠ΅Β» Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ.
a, b = 1, 2, 3 β a ΡΠ°Π²Π½ΠΎ 1; b ΡΠ°Π²Π½ΠΎ 2; Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3 Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ:
a = 10; b = 20 β a ΡΠ°Π²Π½ΠΎ 10, b ΡΠ°Π²Π½ΠΎ 20
a, b = b, a β ΡΠ΅ΠΏΠ΅ΡΡ a ΡΠ°Π²Π½ΠΎ 20, b ΡΠ°Π²Π½ΠΎ 10
Π£ΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ (if) Π² Lua
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ if ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π·Π° ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ then (ΡΠ΅ΠΊΡΠΈΡ then). Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π° ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ else (ΡΠ΅ΠΊΡΠΈΡ else).
return a β Π΅ΡΠ»ΠΈ a Π±ΠΎΠ»ΡΡΠ΅ b, Π²Π΅ΡΠ½ΡΡΡ a
return b β Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β Π²Π΅ΡΠ½ΡΡΡ b
Π‘Π΅ΠΊΡΠΈΡ else ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ.
ΠΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ :
Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ, ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ while;
Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ.
while i > 0 do β ΡΠΈΠΊΠ» ΠΎΡ 10 Π΄ΠΎ 1
ΠΠ»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° Π΄ΠΎ Π΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break.
while i > 0 do β ΠΈΡΠ΅ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
MsgBox (Β«ΠΠ½Π΄Π΅ΠΊΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: Β»..i)
MsgBox (Β«ΠΠ°ΡΡΠΈΠ² Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉΒ»)
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° break β Π² ΡΡΠ°ΡΡΠ΅ Β«ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ break ΠΈ returnΒ»
Π¦ΠΈΠΊΠ» Ρ ΠΏΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ (repeat) Π² Lua
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ repeat ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΊΠ»ΠΎΠ² Ρ ΠΏΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
Π’Π΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΈΡΡΠΈΠ½Π½ΡΠΌ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
β ΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° a, ΠΏΠΎΠΊΠ° ΡΡΠΌΠΌΠ° Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠΈΡ 10
MsgBox (Β«Π‘Π»ΠΎΠΆΠ΅Π½ΠΎ Β»..i..» ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π‘ΡΠΌΠΌΠ° ΡΠ°Π²Π½Π° «..sum)
ΠΠ»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° Π΄ΠΎ Π΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° break β Π² ΡΡΠ°ΡΡΠ΅ Β«ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ break ΠΈ returnΒ»
Π¦ΠΈΠΊΠ»Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ for Π² Lua
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ for ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π΄Π²Π΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ:
ΠΏΡΠΎΡΡΡΡ (ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ for);
ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ (ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ for).
ΠΡΠΎΡΡΠ°Ρ ΡΠΎΡΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° for
ΠΡΠΎΡΡΠ°Ρ ΡΠΎΡΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° for ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
for var = exp1, exp2, exp3 do
Π’Π΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° (ΡΡΡΡΡΠΈΠΊΠ°) var Π² ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅ ΠΎΡ exp1 Π΄ΠΎ exp2, Ρ ΡΠ°Π³ΠΎΠΌ exp3.
Π¨Π°Π³ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ 1.
for i = 1, 10 do β ΡΠΈΠΊΠ» ΠΎΡ 1 Π΄ΠΎ 10 Ρ ΡΠ°Π³ΠΎΠΌ 1
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ exp1, exp2 ΠΈ exp3 Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠΈΠΊΠ»Π°. Π’Π°ΠΊ, Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅, ΡΡΠ½ΠΊΡΠΈΡ f(x) Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π° ΡΠΈΠΊΠ»Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·:
for i = 1, f(x) do β ΡΠΈΠΊΠ» ΠΎΡ 1 Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ f()
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΊΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΈΠΊΠ»Π° ΠΈ ΠΏΠΎ Π΅Π³ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°.
for i = 1, 10 do β ΡΠΈΠΊΠ» ΠΎΡ 1 Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ f()
MsgBox (Β«ΠΠΎΡΠ»Π΅ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° i ΡΠ°Π²Π½ΠΎ Β»..i) β ΠΠ΅Π²Π΅ΡΠ½ΠΎ! i ΡΠ°Π²Π½ΠΎ nil
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π° Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°: ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡ.
ΠΠ»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π° Π΄ΠΎ Π΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break.
for i = 1,#a do β ΠΈΡΠ΅ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅