Π€Π°ΠΉΠ» lua ΡΠ΅ΠΌ ΠΎΡΠΊΡΡΡΡ
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° LUA
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
ΠΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈ ΡΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ!
2 ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΠΈ 0 ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ, Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
β World of Warcraft Interface Configuration
β LUA Source Code
ΠΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° .lua.
ΠΠΎ Π΄Π°Π½Π½ΡΠΌ ΠΠΎΠΈΡΠΊ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ Π±ΡΠ»ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρ:
ΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° ΡΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ?
ΠΡ Π½Π°ΡΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π½Π°ΡΠ΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ :
ΠΡΠ»ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΡΠ°ΠΉΠ», ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π΅Π³ΠΎ, Windows ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ Windows ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°, ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΡΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°. ΠΠΎΠ³Π΄Π° Windows Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅:
Windows Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ»:
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ», Windows Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΅Π³ΠΎ ΠΎΡΠΊΡΡΡΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² .lua, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ FAQ.
π΄ ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²?
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π°.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° .lua, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π½Π°ΠΌ!
ΠΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΆΡΠ²Π°Π½ΠΎ Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΏΠΎ 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 β ΠΈΡΠ΅ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠ²ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ: ΠΈΡΡΠΎΡΠΈΡ Lua
ΠΎΡ ΠΏΠ΅Ρ. ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π΄Π°ΡΠΈΡΡΠ΅ΡΡΡ 2001 Π³ΠΎΠ΄ΠΎΠΌ, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π·Π°Π±Π°Π²Π½ΡΠΌΠΈ. Π’Π°ΠΊ ΠΆΠ΅ Π²ΡΠ΅ ΠΎΡΡΡΠ»ΠΊΠΈ Π½Π° Β«ΡΠ΅Π³ΠΎΠ΄Π½ΡΒ», Β«Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½ΡΒ» ΠΈ Ρ.ΠΏ. ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠΎΠΌΡ ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ.
ΠΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Π΄Π΅ΡΡΡ ΠΎΡ Π»ΠΈΡΠ° Π°Π²ΡΠΎΡΠ°, ΠΊΠ°ΠΊ ΠΈ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅.
ΠΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΌΠ½ΠΎΡ.
ΠΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡ Π½Π°ΡΠ½Π΅ΠΌ Ρ Π½Π°ΡΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ², Π»Π΅Π³ΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Lua Π² 1993, ΠΈ ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· Π²ΠΎΡΠ΅ΠΌΡ Π»Π΅Ρ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ, ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΉ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΡΡ ΡΡΠ°ΡΠ°Ρ ΡΡΡΠΊΠ°: Β«Π²Π΅ΡΠ±Π»ΡΠ΄ β ΡΡΠΎ Π»ΠΎΡΠ°Π΄Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΎΠΌΒ». Π‘ΡΠ΅Π΄ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ° ΡΡΡΠΊΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°, ΠΊΠ°ΠΊ ΠΈ Π»Π΅Π³Π΅Π½Π΄Π° ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ
ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ°ΠΌΠΈ ΡΠ·ΡΠΊΠ°Ρ
. ΠΠ΅Π³Π΅Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ Algol 68, PL/I ΠΈ Ada, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΠ²ΡΠΈΠΌΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΡΠΎΠΌΠ΅ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΎΠ², ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π°Π»Π° ΡΡΠΈΡ
ΡΠ·ΡΠΊΠΎΠ²: Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΡΠΎΠΆΠ΄Π΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ
ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» Π½ΠΈΡΡ
ΠΎΠ΄ΡΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ·ΡΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π΄Π΅Π»Π΅, Π΄Π° ΠΈ Π΄Π°ΠΆΠ΅ Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΏΠ΅ΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΡΠ²ΠΈΠ»ΠΈ ΡΠ΅Π±Ρ Π΅ΡΠ΅ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ½ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΡΡ ΠΊΠ°ΠΊ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΡΠΎ ΡΠΊΡΠΎΠΌΠ½ΡΠΌΠΈ ΡΠ΅Π»ΡΠΌΠΈ. ΠΠΎΠ³Π΄Π° Π»ΡΠ΄ΠΈ Π½Π°ΡΠΈΠ½Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΡΠΎ Π² Π½Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ (ΠΈΠ»ΠΈ, ΠΈΠ½ΠΎΠ³Π΄Π°, ΡΠ΄Π°Π»ΡΠ»ΠΈΡΡ), Π²Π½ΠΎΡΠΈΠ»Π°ΡΡ ΡΡΠ½ΠΎΡΡΡ Π² Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ° (ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π²ΡΠ΅ Π΄Π΅Π»Π°Π»ΠΈ Π΅ΡΠ΅ Π·Π°ΠΏΡΡΠ°Π½Π½Π΅Π΅). ΠΠΎΡΡΠΎΠΌΡ, ΠΏΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, SIGPLAN ΡΠΆΠ΅ ΠΏΡΠΎΡΠΏΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π»Π° Π΄Π²Π΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Lua. Π‘ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΠΏΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Β«Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ Β» ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Lua ΡΡΠ΅Π» Π΄Π°Π»ΡΡΠ΅ Π½Π°ΡΠΈΡ ΡΠ°ΠΌΡΡ ΠΎΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ. ΠΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ Π³Π»Π°Π²Π½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΡΠΏΠ΅Ρ Π° Π»Π΅ΠΆΠ°Ρ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ°: ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΌ ΡΠ·ΡΠΊ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΌ, Π° Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠΉ, Π±ΡΡΡΡΠΎΠΉ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΠΉ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ.
Lua Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ (ΠΈΠ»ΠΈ, ΡΠΎΡΠ½Π΅Π΅, Π²ΡΠ΄Π²ΠΈΠ½ΡΡ) ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΎΠΌ; ΠΏΡΡΡΡ ΠΈ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ β Π²ΡΠ΅Π³ΠΎ Ρ ΡΡΠ΅ΠΌΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ, β Π½ΠΎ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΎΠΌ. ΠΠ°Π΄Π½ΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ·ΡΠΊΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π»Π°ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅. ΠΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΈ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ Π΅Π΄ΠΈΠ½ΠΎΠ΄ΡΡΠ½ΠΎΠΌΡ ΡΠΎΠ³Π»Π°ΡΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΠΆΠ΅ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½Π° ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π»Π°ΡΡ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅. ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ, ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΡΡΡ ΠΈΡ . ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ·ΡΠΊ ΠΏΡΠΎΡΡΡΠΌ; ΠΈ ΠΏΡΠΎΡΡΠΎΡΠ° ΡΠ·ΡΠΊΠ° β ΡΡΠΎ Π½Π°Ρ ΡΠ°ΠΌΡΠΉ ΡΠ΅Π½Π½ΡΠΉ Π²ΠΊΠ»Π°Π΄. ΠΡΡΠ³ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡΠΈΠΌΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Lua β ΡΠΊΠΎΡΠΎΡΡΡ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΎΡ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎΡΡ.
Π‘ ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ Ρ Lua Π±ΡΠ»ΠΈ Β«Π½Π°ΡΡΠΎΡΡΠΈΠ΅Β» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΎΠ΄Π½ΠΈ. ΠΠ½ΠΈ Π²Π½ΠΎΡΠΈΠ»ΠΈ Π²Π°ΠΆΠ½ΡΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ·ΡΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡΠΌΠΈ, ΠΆΠ°Π»ΠΎΠ±Π°ΠΌΠΈ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ ΠΎΡΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½Π°Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΈΡΠ΅Ρ ΠΈΠ³ΡΠ°Π» Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ: Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π²Π°Π»Π° Π½Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½Π΅ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΠ»ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π±Π΅Π· ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌ ΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ.
ΠΠ°ΡΠ°Π»ΠΎ
ΠΠ°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΎΠΏΡΡ Π² TeCGraf (ΠΎΡ ΠΏΠ΅Ρ. Β«Π³ΡΡΠΏΠΏΠ° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΠ°ΡΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π ΠΈΠΎ-Π΄Π΅-ΠΠ°Π½Π΅ΠΉΡΠΎ Π² ΠΡΠ°Π·ΠΈΠ»ΠΈΠΈΒ»), ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠ²ΠΎΠ΅Π³ΠΎ Π―Π, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ
. ΠΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ PETROBRAS (Π±ΡΠ°Π·ΠΈΠ»ΡΡΠΊΠ°Ρ Π½Π΅ΡΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ) ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² Π΄Π΅Π½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π»Π°ΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠΎΠ². ΠΡΠΎ Π±ΡΠ» ΡΠΊΡΡΠ½ΡΠΉ ΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΡΠΉ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈ ΡΡΡΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΡΡΠΎΡΠ²ΡΠΈΡ
ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠ· ΠΏΡΠΎΡΡΡΡ
ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΡΠΈΡΠ΅Π» Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ
Π»ΠΈΠ±ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠΌΠ΅Π»ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΌΡΡΠ», ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π·Π³Π»ΡΠ΄Π° Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ. PETROBRAS ΠΎΠ±ΡΠ°ΡΠΈΠ»ΠΈΡΡ ΠΊ TeCGraf Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ. Π§ΠΈΡΠ»Π° ΠΌΠΎΠ³Π»ΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠ°ΡΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ β ΠΈ ΡΡΠΎ Π±ΡΠ»ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, Π½Π΅ΠΆΠ΅Π»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈ ΡΠ°ΡΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ
Π²Π΅Π»ΠΈΡΠΈΠ½ ΠΏΠΎ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ, ΡΠ½ΠΈΠΆΠ°Ρ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ
ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° Π·Π°ΠΎΠ΄Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ.
ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² TeCGraf ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π² ΠΏΡΠΎΡΡΠΎΠΉ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΠ΅Ρ
Π·Π°Π΄Π°Ρ ΠΏΠΎ Π²Ρ
ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠΈΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½Π°Π·Π²Π°Π½Π½ΠΎΠΌ Π½Π°ΠΌΠΈ DEL (data entry language):
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ :e ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΡΡΡΠ½ΠΎΡΡΡ (Π½Π°Π·Π²Π°Π½Π½ΡΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Β«gasketΒ»), Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ :p Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² gasket, ΡΠ΅Π°Π»ΠΈΠ·ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π΄Π°Π½Π½ΡΡ
. Π DEL Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²Ρ
ΠΎΠ΄Π½ΡΡ
ΠΈ Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
.
Π‘ΡΡΠ½ΠΎΡΡΡ Π² DEL ΡΡΠΎ, Π² ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, ΡΡΡΡΠΊΡΡΡΠ° ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ Π² ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ
Π―Π. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅Π΅ ΠΈΠΌΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»Π΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΌ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Π²Π²ΠΎΠ΄ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΡΠ°Π½Π΅Π΅.
ΠΡΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ·ΡΠΊ Π΄ΠΎΠΊΠ°Π·Π°Π» ΡΠ²ΠΎΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΊ Π² TeCGraf, ΡΠΏΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΡΠ°ΠΊ ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π²Π²ΠΎΠ΄Ρ Π΄Π°Π½Π½ΡΡ . ΠΡΠΊΠΎΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΎΡ DEL, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π±ΡΠ»Π΅Π²Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ ΡΡΡΠ½ΠΎΡΡΠΈ ΠΊ Π²Π²ΠΎΠ΄Ρ Π΄Π°Π½Π½ΡΡ , ΠΈ DEL ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ ΡΡΠΆΠ΅Π»Π΅Π΅. ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π°ΡΠ°Π»ΠΈ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΈ ΡΠΈΠΊΠ»Ρ, ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π΄Π»Ρ PETROBRAS, Π½Π°Π·Π²Π°Π½Π½ΡΠΌ PGM: Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΎΡΡΠ΅ΡΠΎΠ² Π΄Π»Ρ Π»ΠΈΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, ΠΎΡΡΠ΅ΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ Ρ ΠΎΡΠΎΡΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅ΠΊΠΈ, Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ²Π΅ΡΠ°, ΡΡΠΈΡΡΡ ΠΈ ΡΠ΅ΠΊΡΡΡ; Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° ΠΌΠΎΠ³Π»Π° Π±ΡΡΡ ΡΠ΅ΡΠΊΠ°, ΠΈΠΌΠ΅ΡΡΠ°Ρ ΡΠ²ΠΎΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ (Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ/Π»ΠΈΠ½Π΅ΠΉΠ½Π°Ρ, Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΡΡΠ΅ΡΠΊΠ°ΠΌΠΈ, ΠΈ Ρ.Π΄.); ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΡΠΈΠ²Π°Ρ ΠΈΠΌΠ΅Π»Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΡΠ°Π±; ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΡΠ΅ ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π°Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, ΠΎΠ±ΡΡΠ½ΠΎ Π³Π΅ΠΎΠ»ΠΎΠ³Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌΠΈ, Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ PC Ρ MS-DOS. ΠΡ ΠΏΠΎΡΡΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ΅ΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π½Π°Π·Π²Π°Π»ΠΈ Sol: Π°ΠΊΡΠΎΠ½ΠΈΠΌ ΠΎΡ ΠΡΠΎΡΡΠΎΠΉ ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ Π―Π·ΡΠΊ (Simple Object Language), Π° Π·Π°ΠΎΠ΄Π½ΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Ρ ΠΏΠΎΡΡΡΠ³Π°Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Β«ΡΠΎΠ»Π½ΡΠ΅Β».
Π’Π° ΠΊΠ°ΠΊ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ Π² ΡΠ·ΡΠΊ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, ΡΠ·ΡΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΈΠΏΡ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π±ΡΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ C Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΡΠ»ΠΈΠ½ΠΊΠΎΠ²Π°Π½Π½Π°Ρ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π»Π° ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· API Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠ³Π»Π° Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ callback-ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , Π²ΡΠ·ΡΠ²Π°Π²ΡΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΠΎΡ ΡΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π½Π° Sol:
ΠΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Sol ΠΎΠΊΠ°Π·Π°Π»ΠΈ ΡΠΈΠ»ΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ BiBTeX ΠΈ UIL (User Interface Language), ΡΠ·ΡΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Motif.
Π ΠΌΠ°ΡΡΠ΅ 1993 ΠΌΡ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ·ΡΠΊΠ° Sol, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ»ΠΈ Π΅Π΅. Π ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ 1993 ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ DEL ΠΈ Sol ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π² Π΅Π΄ΠΈΠ½ΡΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΉ ΡΠ·ΡΠΊ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΈΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ Π²ΡΠΊΠΎΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠ»ΠΎΠ΅Π². Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΠΏΠΎ Π²Π²ΠΎΠ΄Ρ Π΄Π°Π½Π½ΡΡ
ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈΡΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡΠΌΠΈ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ, ΠΈ Π²ΡΡΠΊΠΈΠΌ ΡΠ°ΠΊΠΈΠΌ. Π’Π°ΠΊ ΠΆΠ΅ Π² ΡΠ·ΡΠΊΠ΅ Π½ΡΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ Sol. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ·ΡΠΊΠ° Π½Π΅ Π±ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ, ΡΠΎ Π² ΡΠ·ΡΠΊΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° (ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ). ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π±ΡΡΡ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΠΎΠ±Π΅ΡΠ½ΡΠ»ΠΎΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²: ΡΠ΅ΠΌ Π΄Π²ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ (ΠΎΡ ΠΏΠ΅Ρ. ΡΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠ΅ΡΡΡΡ Π²Π²ΠΈΠ΄Ρ DEL ΠΈ Sol) ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ Π±ΡΡΡ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ, ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π±ΡΡΡ ΡΠ·ΡΠΊ. PETROBRAS, ΠΊΠ°ΠΊ Π³ΠΎΡΠΊΠΎΠ½ΡΠΎΡΠ°, Π½Π΅ ΠΌΠΎΠ³ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π·Π°ΠΊΡΠΏΠ°Π»ΠΎΡΡ Ρ ΠΎΡΠ΅Π½Ρ ΠΆΠ΅ΡΡΠΊΠΈΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° ΡΡΠ°ΡΡ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΡ Π΄Π΅Π½Π΅Π³. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π² PETROBRAS Π±ΡΠ»ΠΎ Π²Π΅ΡΡΠΌΠ° ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ΅ ΡΠΎΠ±ΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ Π² TeCGraf Π΄Π»Ρ PETROBRAS: ΡΡΠ΄Π° Π²Ρ ΠΎΠ΄ΠΈΠ»ΠΈ PC DOS, Windows (3.1 Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ), Macintosh ΠΈ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Unix.
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Π·ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ·ΡΠΊ, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π½ΠΎΠ²ΡΠΉ. ΠΠ»Π°Π²Π½ΡΠΌΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ°ΠΌΠΈ Π±ΡΠ»ΠΈ Tcl ΠΈ, Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΡΡΠ°Π²Π°Π½ΠΈΠ΅ΠΌ, Forth ΠΈ Perl. Perl β ΡΡΠΎ Π½Π΅ ΡΠ·ΡΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠ»ΡΡ, Π² 1993 Tcl ΠΈ Perl ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Unix ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ . Π’Π°ΠΊ ΠΆΠ΅ Ρ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ² ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. Π Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π» Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊ ΡΡΠΎ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π½ΠΎΠ²ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ.
ΠΡΠΊΠΎΡΠ΅ ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Π² ΡΠ·ΡΠΊΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ . ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌ ΡΠ·ΡΠΊ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ², ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ (ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (ΠΎΡ ΠΏΠ΅Ρ. ΡΠ΅ΡΡ ΠΏΡΠΎ RTTI)). ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°
Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π² Sol, ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π² Π½ΠΎΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΌΡΡΠ»ΠΎΠΌ: ΠΎΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ) Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ track Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΈ, ΠΈΠ½ΠΎΠ³Π΄Π°, Π΄Π»Ρ ΠΏΡΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ).
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Sol (Β«ΡΠΎΠ»Π½ΡΠ΅Β»), Π΄ΡΡΠ³ Π² TeCGraf ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΈΠΌΡ Lua (Β«Π»ΡΠ½Π°Β» ΠΏΠΎ ΠΏΠΎΡΡΡΠ³Π°Π»ΡΡΠΊΠΈ), ΠΈ ΡΠ°ΠΊ ΡΠΎΠ΄ΠΈΠ»ΡΡ ΡΠ·ΡΠΊ Lua.
Lua Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΠΎΡ Sol ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ², Π½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ» ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ: Π·Π°ΠΏΠΈΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΡΠΎΠΊΠΈ (ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²; ΡΠΏΠΈΡΠΊΠΈ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΡΠΎΠΌΠ΅ ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Lua Π½Π΅ Π±ΡΠ»ΠΎ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π±ΡΠ» Π½ΡΠΆΠ΅Π½ Π»Π΅Π³ΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠ°ΠΊ, ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ» Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ ΠΈΠ· Modula (while, if, repeat until). ΠΠ· CLU ΠΌΡ Π²Π·ΡΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ (Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΡΠ΅ΠΌ in-out ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅). ΠΠ· C++ ΠΌΡ Π²Π·ΡΠ»ΠΈ ΠΈΠ΄Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΌΠ΅ΡΡΠ΅ ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ.
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ (Π΄Π°ΠΆΠ΅ ΠΌΠ΅Π»ΠΊΠΈΡ ) ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΉ Π±ΡΠ» ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΡΡΠΎΠΊ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» Π½Π΅ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΠΊ ΡΠΈΡΠ»Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° «+» Π±ΡΠ»ΠΎ Π±Ρ Π΄Π²ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΌ, ΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ «..» (Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ) Π΄Π»Ρ ΡΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π‘ΠΏΠΎΡΡ Π²ΡΠ·Π²Π°Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ «;» (ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ). ΠΡ ΡΡΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΡΠ°Π΅Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ², Π·Π½Π°ΡΡΠΈΡ FORTRAN, Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΆΠ΅ ΡΡΠΎΡΠΎΠ½Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π΅ Π·Π°ΠΏΡΡΠ°Π΅Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π·Π½Π°Π΅Ρ C ΠΈΠ»ΠΈ Pascal. Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ (ΡΠΈΠΏΠΈΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ°).
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ·ΡΠΊ Lua ΠΈΠΌΠ΅Π» ΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ : ΡΠΈΡΠ»Π° (Ρ ΡΠ°Π½ΡΡΠΈΠ΅ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ), ΡΡΡΠΎΠΊΠΈ, (Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅) ΡΠ°Π±Π»ΠΈΡΡ, nil (ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½Π½ΡΠΌ nil), userdata (ΠΏΡΠΎΡΡΠΎΠΉ C’ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ C Π²Π½ΡΡΡΠΈ Lua), Lua ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ C ΡΡΠ½ΠΊΡΠΈΠΈ. (Π‘ΠΏΡΡΡΡ Π²ΠΎΡΠ΅ΠΌΡ Π»Π΅Ρ ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΡΡΠ°Π»Π° Π»ΠΈΡΡ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Lua ΠΈ Π‘ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΡΠΈΠΏ). ΠΠ»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° ΠΌΡ Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π±ΡΠ»Π΅Π²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ . ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ Lisp, nil ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ false, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ true. ΠΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΉ ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΆΠ°Π»Π΅Π΅ΠΌ.
Lua ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π½ΡΠ» ΠΈΠ· Sol ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΠΊΡΡΡΠ΅ΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ: Β«ΡΠ°ΠΌΠ°Ρ ΠΏΡΠΎΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡΒ». ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ lex Π΄Π»Ρ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΠ°Π½Π΅ΡΠ° ΠΈ yacc Π΄Π»Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ°. ΠΠ°ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π±Π°ΠΉΡΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΠΏΡΠΎΡΡΡΠΌ ΡΡΠ΅ΠΊΠΎΠ²ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ. Π£ ΡΠ·ΡΠΊΠ° Π±ΡΠ»Π° ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² C.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΏΡΠΎΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ β ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ·-Π·Π° Π½Π΅Π΅ β Lua ΠΏΡΠ΅Π²Π·ΠΎΡΠ΅Π» Π½Π°ΡΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ. ΠΠ±Π° ΠΏΡΠΎΠΊΡΠ° (PGM ΠΈ ED) ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Lua (Π° PGM Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ). Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² ΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π² TeCGraf Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Lua.
ΠΠ΅ΡΠ²ΡΠ΅ Π³ΠΎΠ΄Ρ (1994β1996)
ΠΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ. ΠΠ΅ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Π±ΡΠ»ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Lua. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Lua Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π½Π΅ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
ΠΡΠΊΠΎΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Lua, ΠΌΡ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π² Lua ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Π² Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Lua Π΄Π°Π²Π°Π»ΠΎ Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. Π€ΠΎΡΠΌΠ°Ρ VRML, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Javascript Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΠΎΡΡΠΈ (ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½Π΅ΡΡΠ½ΠΎΡΡΠΈ) ΠΊΠΎΠ΄Π°. Π‘ Lua ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΡΠ΅Π½Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ. Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΉ ΡΡΠ½ΠΎΡΡΠΈ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎ Π²Π²ΠΎΠ΄Ρ Π΄Π°Π½Π½ΡΡ
(ED) Π±ΡΠ»Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠ΅ΠΉ Lua Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ
Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ»ΠΎ ΠΎΠ±ΡΡΠ½ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΈΠΌΠ΅ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ Ρ ΡΡΡΡΡΠ°ΠΌΠΈ ΡΠ°ΡΡΠ΅ΠΉ, ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΡ
ΡΡΡΡΡΠ°ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Lua Π² ΡΠ°ΠΉΠ»Π΅ Π½Π° ΡΠΎΡΠ½ΠΈ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΠ»ΠΎ, ΡΡΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Lua ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Π ΡΠΎ, ΡΡΠΎ Lua ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π» ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«Π½Π° Π»Π΅ΡΡΒ» (ΠΊΠ°ΠΊ Β«just-in-timeΒ» ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ), ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΡΠ°ΠΊ Π²Π΅ΡΡΠΌΠ° Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Lua ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ΅ΡΠ²ΠΎΠΉ ΠΆΠ΅ΡΡΠ²ΠΎΠΉ ΠΏΠΎΠ³ΠΎΠ½ΠΈ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠ½ΠΎΡΡΡ ΡΡΠ°Π» lex. ΠΠ°ΠΌΠ΅Π½Π° ΡΠΊΠ°Π½Π΅ΡΠ°, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ lex, Π½Π° ΡΠ°ΠΌΠΎΠΏΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π²ΠΎΠΈΠ»ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ Lua ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΏΠΊΠΎΠ΄Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ². ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΠΏΠΈΡΠΊΠΎΠ² Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ:
ΡΡΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π»ΠΎΡΡ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ Π±Π°ΠΉΡΠΊΠΎΠ΄:
Π‘ Π½ΠΎΠ²ΠΎΠΉ ΡΡ Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ΄ ΡΡΠ°Π» Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ»Ρ Π΄Π»ΠΈΠ½Π½ΡΡ
ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² Π½Π΅ Π±ΡΠ»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ»ΠΎΠΆΠΈΡΡ Π²ΡΠ΅ ΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΡΡΠ΅ΠΊ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π° Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠ΄Π°Π²Π°Π» ΠΎΠΏΠΊΠΎΠ΄ SETTABLE Π΄Π»Ρ ΡΠ±ΡΠΎΡΠ° ΡΡΠ΅ΠΊΠ°.
(Π‘ ΡΠ΅Ρ
ΠΏΠΎΡ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΡΠ°Π»ΠΈΡΡ ΡΠ»ΡΡΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π‘Π΅ΠΉΡΠ°Ρ Lua ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ 30000 ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΉ Π² ΡΠ΅ΡΡΡ ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ Perl, ΠΈ Π² Π²ΠΎΡΠ΅ΠΌΡ ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ Python).
ΠΡ Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Lua Ρ ΡΡΠΈΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌΠΈ Π² ΠΈΡΠ»Π΅ 1994 ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Lua 1.1. ΠΠ΅ΡΡΠΈΡ Π±ΡΠ»Π° Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎ ftp. ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Lua 1.0 Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ»Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ. Π‘ΠΏΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Lua.
Π£ Lua 1.1 Π±ΡΠ»Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ. Π―Π·ΡΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅Π»ΡΡ , Π½ΠΎ Π½Π΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. (ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ, ΡΠ°ΠΌ ΡΠ·ΡΠΊ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ» Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ). ΠΠΎ ΡΠ°ΠΊΠ°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»Π°. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Perl ΠΈ Tcl, Π±ΡΠ»ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Ρ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π»ΠΈ Π΄Π°ΠΆΠ΅ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π²ΡΠΉΡΠΈ Π½Π° ΡΡΠ½ΠΎΠΊ. Π’Π°ΠΊ ΡΡΠΎ Π²ΡΠΏΡΡΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ°, Lua 2.1, Π±ΡΠ» ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌ.
Lua Π²Π΅ΡΡΠΈΠΈ 2
Lua 2.1 (Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΉ Π² 1995), ΠΏΡΠΈΠ½Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ
Π±ΡΠ»ΠΎ Π½Π΅ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ: ΠΌΡ ΡΡΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ ΡΡΠΎΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΡΠ°ΡΡΡΡ ΡΠ»ΡΡΡΠΈΡΡ ΡΠ·ΡΠΊ, ΠΏΡΡΡΡ Π΄Π°ΠΆΠ΅ ΡΠ΅Π½ΠΎΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ.
Π Π²Π΅ΡΡΠΈΠΈ 2.1 ΠΌΡ Π²Π½Π΅ΡΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ 1.1 (Π½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ Π² ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΠΊΠΎΠ΄Π°). ΠΡ Π²ΡΠΊΠΈΠ½ΡΠ»ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ @ ΠΈΠ· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² ΡΠ°Π±Π»ΠΈΡ ΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠ³ΡΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΎΠΊ ΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈ Π΄Π»Ρ ΡΠΏΠΈΡΠΊΠΎΠ². ΠΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ @ Π±ΡΠ»ΠΎ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΠ΅ ΡΠ·ΡΠΊΠ°, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π³ΠΎ Π²Π½Π΅ΡΠ½ΠΎΡΡΡ.
Π‘ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° ΠΌΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ Lua ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C ΠΌΠΎΠ³Π»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ· Lua. Π‘ ΡΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ Π±ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ Lua ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ·ΡΠΊ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
Π Π²Π΅ΡΡΠΈΠΈ 2.1 ΠΌΡ Π²Π²Π΅Π»ΠΈ ΠΏΠΎΠ½ΡΡΠΈΠ΅ fallback’ΠΎΠ²: ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Lua Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ. (ΠΎΡ ΠΏΠ΅Ρ. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΡΠΌ Π½Π°Π΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π±ΠΎΠ»ΡΡΠ΅). Lua ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ Π΄Π²ΡΠΌΡ ΠΏΡΡΡΠΌΠΈ: ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° Β«ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ Β» ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ ΡΠ΅ΡΠ΅Π· fallback’ΠΈ. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Lua ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ.
ΠΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ fallback’ΠΈ Π΄Π»Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΈ, ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΡΡΠΎΠΊ, Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ ΠΈ Ρ.Π΄. (ΠΎΡ ΠΏΠ΅Ρ. ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΡ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡ). ΠΠΎΡΠ»Π΅ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠΈΠΏΠ°ΠΌ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠ»ΠΎΠΌ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ fallback, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΡΠΌΠΌΡ.
ΠΡΠΎΠ±ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ (ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ fallback’ΠΎΠ²) ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅: Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ x=a[i] Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ a[i] ΡΠ²Π»ΡΠ΅ΡΡΡ nil (ΠΎΡ ΠΏΠ΅Ρ. Ρ.Π΅. ΡΠ°Π±Π»ΠΈΡΠ° a Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Ρ i), ΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ (Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°Π½Π°) fallback ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ΅ΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ a[i]. ΠΡΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ Π½ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΈΠ΄ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅:
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΠ΅ΠΏΠΎΡΠΊΠ΅ Β«ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉΒ», ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΠΊΠΎΠ½ΡΠ°. Π‘ ΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ Β«redΒ» Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ b Π½Π΅Ρ ΠΏΠΎΠ»Ρ Ρ ΡΠ²Π΅ΡΠΎΠΌ.
ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ ΠΈΠ»ΠΈ ΠΆΠ΅ΡΡΠΊΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ»Π΅ Β«parentΒ». ΠΡΠΎ Π²ΡΠ±ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ, ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΠΎΠ»Ρ Β«parentΒ» ΡΠ°ΠΌΠΎΠΌΡ Π±ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ, ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ Π΅ΡΠ΅.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ fallback Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ a[i] Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ a Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ. ΠΡΠΎ fallback Β«gettableΒ», ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ a[i] Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ Π²ΠΈΠ΄Π° x=a[i], ΠΈ fallback Β«settableΒ», ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² a[i] Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ Π²ΠΈΠ΄Π° a[i]=x.
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ½ΡΡ fallback’ΠΎΠ². ΠΠ΅ΠΆΡΠ·ΡΠΊΠΎΠ²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ: ΠΊΠΎΠ³Π΄Π° a Ρ ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° userdata (ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π² C ΠΊΠΎΠ΄Π΅), fallback ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Π²Π½ΡΡΡΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΡΠΈΠ²Π°ΡΡ ΠΆΠ΅ΡΡΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΠ² Lua: ΠΌΠ΅ΡΠ°-ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ. ΠΠΌΠ΅ΡΡΠΎ Π·Π°ΠΌΡΡΠΎΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΅ΠΌ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ, ΠΊΠΎΠΌΡ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ.
ΠΠ΅ΡΠ°-ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ fallback’ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Lua ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΠΠ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΡΡ Π²ΠΈΠ΄ΠΎΠ² Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΡ Π΄Π°ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Ρ Π°ΡΠ° Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Β«ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²Β»: ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ a:f(x,y,z), ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠΊΡΡΡΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ self, Π΄Π΅Π»Π°ΡΡΠΈΠΉ Π²ΡΠ·ΠΎΠ² a:f(10,20,30) ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΌ a.f(a,10,20,30).
Π ΠΌΠ°Π΅ 1996 ΠΌΡ Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ Lua 2.4. ΠΡΠ½ΠΎΠ²Π½ΡΠΌ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ» Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π½Π°Π·Π²Π°Π½Π½ΡΠΉ luac. ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»Π° Lua ΠΊΠΎΠ΄ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ»Π° Π±Π°ΠΉΡΠΊΠΎΠ΄ ΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΡΠΎΠΊ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». Π€ΠΎΡΠΌΠ°Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ. Π‘ luac ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ°ΡΡΠΈΠ½Π³Π° ΠΈ ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°, ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΠ°ΡΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»Ρ.
ΠΠ°ΡΠ° ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎ Lua ΡΠΆΠ΅ ΡΠΎΠ³Π΄Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π½ΠΎ Π½Π°ΠΌ ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Lua Π² TeCGraf ΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Lua ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ luac ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΠΊ ΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π·Π°ΡΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π½Π΅ ΡΡΠΊΠΎΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Lua ΠΈ ΡΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ.
luac ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Β«ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Β», ΡΠΎ Π΅ΡΡΡ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ Lua ΠΊΠ°ΠΊ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΡΡΡΠΊΡΡΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ , ΡΡΠ΅Π±ΡΡΡΠΈΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΠ΄Π½ΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΄ΡΠ° Lua Π½Π° ΡΠ΅ΡΠΊΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ, ΡΠ΅ΠΉΡΠ°Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π° (Π»Π΅ΠΊΡΠ΅Ρ, ΠΏΠ°ΡΡΠ΅Ρ ΠΈ ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΎΡ), Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΠ΅ 40% ΠΊΠΎΠ΄Π° ΡΠ΄ΡΠ° Lua 4.0, ΠΎΡΡΠ°Π²ΠΈΠ² Π»ΠΈΡΡ ΠΊΡΠΎΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ΄Π°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Lua Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΡΠΎΠ΄Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΠ±ΠΎΡΠΎΠ² (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Crazy Ivan, ΡΠΎΠ±ΠΎΡ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π²ΡΠΈΠΉ Π² RoboCup Π² 2000 ΠΈ 2001 Π² ΠΠ΅ΡΠΌΠ°Π½ΠΈΠΈ, ΠΈΠΌΠ΅Π» Β«ΠΌΠΎΠ·Π³ΠΈΒ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° Lua).
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΡΡ (1996β2000)
Π ΠΈΡΠ½Π΅ 1996 ΠΌΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ°ΡΡΡ ΠΏΡΠΎ Lua Π² Software: Practice & Experience (ΠΎΡ ΠΏΠ΅Ρ. ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π° Π΄Π΅Π½Π΅ΠΆΠΊΡ. Π½Π°ΡΠ΅Π» Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈ ΠΊΠΎΠ½Π²Π΅ΡΡΠ½ΡΠ» Π² pdf, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ). Π Π΄Π΅ΠΊΠ°Π±ΡΠ΅ 1996 ΠΆΡΡΠ½Π°Π» Dr. Dobb’s ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΡΠ°ΡΡΡ ΠΏΡΠΎ Lua. ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°, ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΡΡΠΈ Lua.
ΠΡΠΊΠΎΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠ°ΡΡΠΈ Π² Dr. Dobb’s ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎ Lua. ΠΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΈΡΠ΅ΠΌ Π±ΡΠ»ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Bret Mogilefsky Π±ΡΠ» Π²Π΅Π΄ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Grim Fandango, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π°Π΄Π²Π΅Π½ΡΡΡΡ LucasArts Π² 1997 Π³ΠΎΠ΄Ρ. Π Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΈΡΡΠΌΠ΅ ΠΎΠ½ ΠΏΠΈΡΠ΅Ρ Π½Π°ΠΌ, ΡΡΠΎ Β«ΠΠΠ ΠΠΠΠΠ― ΡΠ°ΡΡΡ ΠΈΠ³ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° LuaΒ» (Π°ΠΊΡΠ΅Π½Ρ Π°Π²ΡΠΎΡΡΠΊΠΈΠΉ). ΠΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Lua Π² ΠΈΠ³ΡΠ΅ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ»ΠΎ ΠΊ ΡΠ·ΡΠΊΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΠ³ΡΠΎΠ²ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΈΡΠ΅. Π‘ΠΏΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Lua Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΡΡΠ°Π» ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΠΈΠ³ΡΠΎΠ²ΡΡ
Π³ΡΡΠΏΠΏΠ°Ρ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ Π²ΡΠΎΠ΄Π΅ rec.games.programmer ΠΈ comp.ai.games.
ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΡΡΠΎΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Lua ΠΏΡΠΈΠΎΠ±ΡΠ΅Π» Π±ΠΎΠ»ΡΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΠΈΠ³Ρ. Π Π½Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ³ΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Lua (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ LucasArts, BioWare, Slingshot Game Technology ΠΈ Loewen Entertainment) ΠΈ Π·Π½Π°Π½ΠΈΠ΅ Lua ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΡΠ°Π±ΠΎΡΡ Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ. ΠΠΎ Π½Π°ΡΠ΅ΠΉ ΠΎΡΠ΅Π½ΠΊΠ΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Lua Π²ΠΎΠ²Π»Π΅ΡΠ΅Π½Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΠ³Ρ, Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΠΎΡΠ½Π΅Π΅ ΠΈΠ·-Π·Π° Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΡΡΠΈ Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Ρ
ΠΎΡΡ Bret Mogilefsky ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π» Lua Π΄Π»Ρ Grim Fandango, Π½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ΅.
ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π² ΠΈΠ³ΡΡ Π΄Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ². Π‘ΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΏΡΠ°ΠΉΡΠΎΠ² ΠΈ ΡΠΈΠ·ΠΈΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ AI ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΌ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄Π²ΠΈΠΆΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡΡ ΠΎ ΡΠ°ΠΊΠΈΡ Π²Π΅ΡΠ°Ρ , ΠΊΠ°ΠΊ Β«ΡΡΠΎΠ½Β», Β«ΡΠΊΠΎΡΠΎΡΡΡΒ», Β«ΠΎΡΡΠΆΠΈΠ΅Β», ΠΈ Ρ.ΠΏ. ΠΡΠ±ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ³ΡΠΎΠ²ΡΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. ΠΡΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°ΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΈΡ ΡΠ²ΠΎΡΠ΅Π½ΠΈΡΠΌΠΈ. Π‘ΠΊΡΠΈΠΏΡΠΎΠ²ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΡΡ Π±ΡΡΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠ².
ΠΠ΅ ΡΠ°ΠΊ Π΄Π°Π²Π½ΠΎ, Π² 2000, LucasArts Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ Π΄ΡΡΠ³ΡΡ ΠΈΠ³ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Lua, Escape from Monkey Island, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠΉ Π² ΡΠ΅ΡΠΈΠΈ Π°Π΄Π²Π΅Π½ΡΡΡ Monkey Island. Π ΡΡΠΎΠΉ ΠΈΠ³ΡΠ΅ Π² Π΄Π°Π½Ρ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΡ Lua Π°Π²ΡΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ Π²Π½ΡΡΡΠΈΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π±Π°Ρ ΠΈΠ· SCUMM (ΡΠ°Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ) Π² ΠΠ°Ρ Lua.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΈΠ³ΡΠ°Ρ (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Grim Fandango, Baldur’s Gate, MDK2, Escape from Monkey Island) Lua ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ΅ΡΠ°Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΠΌΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Lua Π²Π½Π΅ PUC-Rio (ΠΎΡ ΠΏΠ΅Ρ. ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΊΠ°ΡΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π ΠΈΠΎ-Π΄Π΅-ΠΠ°Π½Π΅ΠΉΡΠΎ, ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ TeCGraf) Π±ΡΠ»Π° Π‘ΠΌΠΈΡΡΠΎΠ½ΠΎΠ²ΡΠΊΠ°Ρ Π°ΡΡΡΠΎΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΡΠ΅ΡΠ²Π°ΡΠΎΡΠΈΡ. ΠΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°ΠΏΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΎΡΠΎΠ½ΠΎΠ² Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ. ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ»Π° ΡΠ°ΡΡΡΡ ΡΡΠΈΠ»ΠΈΠΉ ΠΏΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ AXAF (ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠΉ ΡΠ΅Π½ΡΠ³Π΅Π½ΠΎΠ²ΡΠΊΠΎΠΉ Π°ΡΡΡΠΎΡΠΈΠ·ΠΈΠΊΠΈ) β ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΠΠ΅Π»ΠΈΠΊΠΈΠΉ ΠΠΎΡΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΠ±ΡΠ΅ΡΠ²Π°ΡΠΎΡΠΈΠΉ NASA.
Performance Technologies ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Lua Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ CPC4400 β ethernet ΡΠ²ΠΈΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π³ΠΎΡΡΡΠ΅ΠΉ Π·Π°ΠΌΠ΅Π½Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Lua Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ CPC4400, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΡΠ°ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΡΠ΅Π²ΠΎΠ³ΠΈ RMON) ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ Π½Π° Lua.
Tollgrade Communications ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Lua Π² ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ DigiTest. Lua ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π°.
Lua ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² InCor Heart Institute (Instituto do CoraΓ§Γ£o, SΓ£o Paulo) Π² ΠΡΠ°Π·ΠΈΠ»ΠΈΠΈ, Π² CEPEL (ΠΈΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ΅Π½ΡΡ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ½Π΅ΡΠ³Π΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ELETROBRAS) ΡΠ°ΠΊ ΠΆΠ΅ Π² ΠΡΠ°Π·ΠΈΠ»ΠΈΠΈ, Π² Weierstrass Institute Π² ΠΠ΅ΡΠ»ΠΈΠ½Π΅, Π² Π±Π΅ΡΠ»ΠΈΠ½ΡΠΊΠΎΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅, ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡ.
Π 1998 Cameron Laird ΠΈ Kathryn Soraiz Π² ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΏΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠ΅ ΡΠ·ΡΠΊΠΈ Π² ΠΆΡΡΠ½Π°Π»Π΅ SunWorld ΠΏΠΎΠ΄ΡΡΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ Β«Π² ΠΌΠΈΡΠ΅ Π³Π΄Π΅-ΡΠΎ ΠΎΠΊΠΎΠ»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΎΡΠ΅Π½ ΡΡΡΡΡ Lua ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²Β». ΠΠΎ ΠΈΡ ΠΌΠ½Π΅Π½ΠΈΡ ΡΡΠΎ Β«Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉΒ», Π½ΠΎ Π΄Π»Ρ Π½Π°Ρ ΡΡΠΎ ΡΠ²Π½ΡΠΉ Π·Π½Π°ΠΊ ΠΊ ΡΠΎΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°.
Lua Π²Π΅ΡΡΠΈΠΈ 3
Lua 3.0 (ΠΈΡΠ»Ρ 1997) Π·Π°ΠΌΠ΅Π½ΠΈΠ»Π° fallback’ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ ΡΠ΅Π³ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². Fallback’ΠΈ Π±ΡΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ·ΡΠ²Π°Π»ΠΈΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π· ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°Π΄Π°ΡΡ Π»ΠΈΡΡ ΠΎΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ»ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Lua ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Π₯ΠΎΡΡ ΠΈ Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²Π° fallback ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π±ΡΠ» ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ ΠΈ ΡΠΊΠ»ΠΎΠ½Π½ΡΠΌ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ, ΠΈ Π²ΡΡΠ΄ Π»ΠΈ ΠΊΡΠΎ-ΡΠΎ ΡΡΠ°Π» Π±Ρ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ.
Π‘ Π²Π΅ΡΡΠΈΠΈ Lua 3.0 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠ³ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅Π³ΠΈ ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ userdata. ΠΠ΅ΡΠΎΠ΄Ρ ΡΠ΅Π³ΠΎΠ² β ΡΡΠΎ, ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ, Π²ΡΠ΅ ΡΠ΅ΠΆΠ΅ fallback’ΠΈ, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ΅Π³Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°. Π‘ ΡΠ΅Π³Π°ΠΌΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΡΠ΅Π³ΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ (ΠΈ userdata) ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ fallback ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ΅Π³ΠΎΠ² ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Lua Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ². ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠ΅Π³ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΈΡΠ»ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ. ΠΠΎΠ³Π΄Π° Π²Ρ Π°ΡΡΠΎΡΠΈΠΈΡΡΠ΅ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠ΅Π³ΠΎΠΌ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ: ΡΠΈΠΏ (ΠΈΠ»ΠΈ ΡΠ΅Π³) ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ.
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ fallback’ΠΎΠ², Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΎΠΏΠΈΡΡΠ²Π°Π»ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Lua Π² ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π΅ Ρ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΡΠΊΠ° Π²ΡΠ·ΠΎΠ²Π° Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊ ΡΡΠΎ ΠΌΡ ΡΡΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ fallback’ΠΈ β ΡΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ. Π‘ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ΅Π³ΠΎΠ², fallback’ΠΈ (Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΡΠ΅Π³ΠΎΠ²) ΡΡΠ°Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ², Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ².
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π», ΠΌΡ Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅Π³ΠΎΠ² ΠΊΠ°ΠΊ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΡΠ²ΡΠ·Π°ΡΡ ΡΠ΅Π³ΠΈ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ. ΠΠΈΡΡ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ Π²ΡΡ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ΅Π³ΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅Π³ΠΎΠ² ΠΊΠ°ΠΊ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ². Lua 4.1 Π·Π°ΠΊΡΠ΅ΠΏΠΈΡ ΡΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² (ΡΠ΅ΠΉΡΠ°Ρ ΠΈΠΌΠ΅Π½Π° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ²).
Π Lua 3.0 ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΏΠΎΡ ΠΎΠΆΠ΅Π³ΠΎ Π½Π° C ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ ΡΠ·ΡΠΊΠΎΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ (Ρ ΠΎΡΡ ΡΡΠΎ ΠΈ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΎ Π»Π΅ΠΊΡΠ΅Ρ), ΠΈ Π²ΡΠΊΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π°ΡΠ°Π»ΠΈ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π»ΡΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°). ΠΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°, ΡΡΠ°Π·Ρ ΡΠ°ΡΡΠ΅Ρ ΡΠΏΡΠΎΡ Π½Π° Π΅Π³ΠΎ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ², Π½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊ ΠΈ Π½Π΅ Π²ΡΠ»ΠΈΠ»ΠΎΡΡ Π² ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΡΠ»ΠΎΠΊ, Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΠΌΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»Π΅ΠΊΡΠ΅ΡΠ΅ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ΅, Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ²Π½ΠΎΠΉ Π²ΡΠ³ΠΎΠ΄Ρ. Π’Π°ΠΊ ΡΡΠΎ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΎΡΡΠ°Π²Π°Π»ΡΡ ΡΡΠ°ΡΠΈΡΠ½ΡΠΌ Ρ Lua 3.0 ΠΈ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 3.2 (Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π»Π΅Ρ).
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΡΠΈΡΠΈΠ½ΡΠ» Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π΄Π°, ΡΠ΅ΠΌ ΠΏΡΠΈΠ½ΠΎΡΠΈΠ» ΠΏΠΎΠ»ΡΠ·Ρ, Π΄Π΅Π»Π°Ρ ΠΊΠΎΠ΄ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ ΠΈ Π·Π°ΠΌΠ°Π½ΠΈΠ²Π°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΈ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² Lua 4.0. Π Π±Π΅Π· ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Lua ΡΡΠ°Π» ΡΠΈΡΠ΅. ΠΠ° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π»Π΅Ρ ΠΌΡ ΡΡΡΠ΅ΠΌΠΈΠ»ΠΈΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Lua ΠΏΡΠΎΡΠ΅ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ³Π»Ρ ΡΠ·ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΡΡΠΈΡΠ°Π»ΠΈ Π½ΠΎΠ²ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, Π½ΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π»ΠΈΡΡ ΡΠ΅Π΄ΠΊΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ, Π° Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠ°Π»ΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
Lua Π²Π΅ΡΡΠΈΠΈ 4
ΠΠΎ Π²Π΅ΡΡΠΈΠΈ 3.2 ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Β«ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅Β» Lua-ΠΌΠ°ΡΠΈΠ½Ρ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ. Π£ Π½Π°Ρ Π±ΡΠ»ΠΎ API Π΄Π»Ρ ΡΠΌΠ΅Π½Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π½ΠΎ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ API ΠΌΡ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈ ΡΠ²Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ β Π±ΡΠ»ΠΎ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Π ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²ΡΡ
ΠΎΠ΄Π° Lua 3.2 ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠΌΠΎΠ³ΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Lua ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Lua 3.2, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² CGILua β ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΡΠ΄Π°ΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΡΡΠ°Π½ΠΈΡ (ΠΎΡ ΠΏΠ΅Ρ. Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ Π²Π²ΠΈΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π°) ΠΈ CGI ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Lua. Π Π°Π½Π΅Π΅, LucasArts Π΄Π΅Π»Π°Π»Π° Π½Π΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π΄Π»Ρ Lua 3.1.
ΠΡΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ Π½Π°ΡΠΈΡ
ΠΏΠ»Π°Π½ΠΎΠ² ΠΏΠΎ Lua 3.3 Π²ΡΡΠΎΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π±ΡΠ» Ρ API Ρ ΡΠ²Π½ΡΠΌΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π»ΠΎ Π²ΠΎΠΏΡΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΈΠ·-Π·Π° Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ API Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ°Π»Π° Lua 4.0. Π’Π΅ΠΏΠ΅ΡΡ API Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²Π½ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π½ΠΎ ΠΎΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠ°Π»ΠΎ ΠΏΡΠΎΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅ΠΉ. ΠΡ Π±ΠΎΡΠ»ΠΈΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ API Π±ΡΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΌΡΠΌ Π³Π»Π°Π΄ΠΊΠΈΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ» ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² API ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ Lua 1.1. ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ°Π»ΠΎΠ± Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΡΠ»ΠΎΠΊ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΡΠ°Π²ΠΌΠΈΡΡΡΡΠΈΠΌ. ΠΠ½ΠΎΠ³ΠΈΠ΅ Lua ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ API, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ ΡΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π°.
ΠΡ Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ Lua 4.0 Π² Π½ΠΎΡΠ±ΡΠ΅ 2000. ΠΡΠΎΠΌΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ API, ΡΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½Π΅ΡΠ»Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΠΊΠ».
ΠΡΡΠΊΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°Π²ΡΠΈΠΉ Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ Β«ΡΠ°Π·ΠΆΠΈΠ³Π°ΡΡΡΡ Ρ ΠΎΠ»ΠΈΠ²Π°ΡΡΒ» ΠΏΠΎ ΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΡΠΈΡ Π²ΠΎΠΉΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΄Π΅Π½Π½Π΅Π΅ ΡΠ΅ΠΌΠ°, ΡΠ΅ΠΌ ΠΆΠ°ΡΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π»ΡΠ΄ΠΈ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ, Π½Π΅ΠΆΠ΅Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½ ΡΡΠΎΠ³ΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π»ΡΠ΄Π΅ΠΉ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ΅ΠΌΠ΅, Π½Π΅ΠΆΠ΅Π»ΠΈ ΡΠ΅ΠΌ ΠΏΠΎ Π²ΡΠΎΡΠΎΠΉ. ΠΠΎ Π΄ΡΡΠ³Π°Ρ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΈΠ»ΡΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΠ±ΡΠ΄Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΠΌΡ ΠΎΡ ΡΡΠΎΠ²Π½Ρ Π·Π½Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ°. ΠΡΠ»ΠΈ ΡΠ·ΡΠΊ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π΅ΡΠ»ΠΈ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ Ρ ΠΎΡΠΎΡΠ΅ΠΉ Ρ Π²Π°ΡΠΊΠΈ β ΠΈΠΌ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ.
Π‘ Π²Π΅ΡΡΠΈΠΈ 1.1 ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ for Π±ΡΠ»Π° Π² ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Lua. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²Π° Π±ΡΠ»Π° Π·Π°Π±ΡΠ²ΡΠΈΠ²ΠΎΡΡΡ Π»ΡΠ΄Π΅ΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° while, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡ.
ΠΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΊΠΎΡΠΎ ΡΠΎΠ³Π»Π°ΡΠΈΠ»ΠΈΡΡ Ρ ΡΡΠΈΠΌ. ΠΠΎ, Ρ ΠΎΡΡ ΠΌΡ Π²ΡΠ΅ ΠΈ Π±ΡΠ»ΠΈ ΡΠΎΠ³Π»Π°ΡΠ½Ρ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠΈΠΊΠ»Π° for, ΠΌΡ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΡΠΎΠ³Π»Π°ΡΠΈΡΡΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ Π½Π΅Π³ΠΎ. ΠΡ ΡΡΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π² ΡΡΠΈΠ»Π΅ Pascal (ΠΈΠ»ΠΈ Modula) ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠ΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΡΠ°ΠΉΠ»Π°. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° to Π² ΡΠΏΠΈΡΠΎΠΊ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ»ΠΎΠ² ΠΏΡΠΈΠ²Π΅Π» Π±Ρ ΠΊ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠΈΠΊΠ» for Π² ΡΡΠΈΠ»Π΅ C Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΠ» ΠΊ Lua.
Π‘ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΌΡΠΊΠ°ΡΠΈΠΉ ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π²Π΅ΡΡΠΈΠΈ 3.1 (ΠΈΡΠ»Ρ 1998) ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°. (ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² for Π±ΡΠ»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΡΠΈΠ½ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Lua). Lua 3.1 Π²ΡΡΠ»Π° Ρ Π΄Π²ΡΠΌΡ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΈΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
Π€ΡΠ½ΠΊΡΠΈΡ foreach ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ f Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠ°Ρ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΡΠ±ΡΠ°Π½Π½ΡΡ
Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ foreachi ΠΏΠΎΡ
ΠΎΠΆΠ°, Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΎΠΊ (ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ²): ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠ»ΡΡΠ΅ΠΉ. Π₯ΠΎΡΡ ΠΌΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΠ±Ρ
ΠΎΠ΄Π°, Π±ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ.
ΠΠΎ Ρ
ΠΎΡΡ ΠΈ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅, Π½ΠΎ Π·Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π΄Π²Π° Π³ΠΎΠ΄Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΠΊΡΠΎ ΠΈΡ
Π½Π΅ Π΄Π΅Π»Π°Π». ΠΠ΅ΡΠ²ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π±ΡΠ» Π΄ΠΈΡΠΊΠΎΠΌΡΠΎΡΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠΈΡ
ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ² Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅. Π Π²ΡΠΎΡΠΎΠΉ ΠΈ, Π½Π° Π½Π°Ρ Π²Π·Π³Π»ΡΠ΄, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π±ΡΠ»ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π² Π΄ΡΡΠ³ΠΈΡ
ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°Ρ
. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π³ΠΎΠ΄Ρ ΠΌΡ ΠΏΡΡΠ°Π»ΠΈΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π‘ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ, ΠΌΡ Π±ΡΡΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π΄Π²Π° ΡΠΎΡΠΌΠ°ΡΠ° ΡΠΈΠΊΠ»Π° for: Π΄Π»Ρ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π΄Π»Ρ ΠΎΠ±Ρ
ΠΎΠ΄Π° ΡΠ°Π±Π»ΠΈΡ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ for Π±ΡΠ» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ΄Π°ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ·ΡΠΊΠ΅ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΠΎ ΠΏΠ΅ΡΠ²ΡΡ , ΠΎΠ½ ΠΎΡ Π²Π°ΡΡΠ²Π°Π» Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ², Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² Π±ΡΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ while. ΠΠΎ Π²ΡΠΎΡΡΡ , ΠΈΠ·-Π·Π° Π΅Π³ΠΎ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π±ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠΊΠΎΠ΄Ρ, ΡΠ΄Π΅Π»Π°Π²ΡΠΈΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Ρ ΠΏΡΡΡΡΠΌ ΡΠ΅Π»ΠΎΠΌ ΡΠΈΠΊΠ»Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² Π΄Π²Π° ΡΠ°Π·Π° Π±ΡΡΡΡΠ΅Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠ΅ΡΠ΅Π· while.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘Π΅ΠΉΡΠ°Ρ Ρ Lua ΡΡΡΠΎΡΠ²ΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ Π±Π°Π·Π°. ΠΠΊΡΠΈΠ²Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΠΏΠΎΡΡΠΈ Π½Π° 500 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 30 ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΡΡΠ°Π½ ΠΌΠΈΡΠ°. ΠΠ° ΡΠ°ΠΉΡΠ΅ (www.lua.org) ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 500 ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ Π² Π΄Π΅Π½Ρ ΠΈΠ· 50 ΡΡΡΠ°Π½. Π―Π·ΡΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² ΡΠΏΠ΅ΠΊΡΡΠ΅ ΠΎΡ Π°Π΄Π²Π΅Π½ΡΡΡ Π΄ΠΎ Π²Π΅Π±-ΡΠ²Π΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ Π΄ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ Π΄Π»Ρ Ethernet ΡΠ²ΠΈΡΠ΅ΠΉ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ftp ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Lua, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ
ΡΠ°ΠΉΡΠΎΠ² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ DLL Π΄Π»Ρ Windows, SIS Π΄Π»Ρ EPOC, RPM Π΄Π»Ρ Linux, Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΈ Π΄Π»Ρ RISC OS, ΠΈ Ρ.Π΄. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΆΡΡΠ½Π°Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ Lua Π½Π° Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΡΡ
CD Π΄ΠΈΡΠΊΠ°Ρ
(ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Dr. Dobb’s, Linux Magazine France ΠΈ ΡΠΏΠΎΠ½ΡΠΊΠΈΠΉ C Magazine).
Π’Π°ΠΊΠΆΠ΅ Lua Π²Π½Π΅Ρ Π²ΠΊΠ»Π°Π΄ Π² Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ΅Π·ΠΈΡΠ°ΠΌ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΠΌ ΠΊΠ°ΠΊ ΠΎ ΡΠ°ΠΌΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΡΠ°ΠΊ ΠΈ ΠΎ Π΅Π³ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.
Π£ΡΠΏΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΡΠ΅Π½Ρ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ° ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π»Π° ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΡ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ β ΡΡΠΎ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ½Π³ΡΠ΅Π΄ΠΈΠ΅Π½ΡΠΎΠ² (ΠΏΡΡΡΡ Π΄Π°ΠΆΠ΅ ΠΈ ΡΠΈΠ»ΡΠ½ΡΠΉ) Π² Π°Π»Ρ ΠΈΠΌΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΡΠ·ΡΠΊΠΎΠ².
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ·ΡΠΊ β ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΅Π³ΠΎ. ΠΡΠ΅ΡΠ΅Π»ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π΄Π΅ΡΠ°Π»ΡΠΌ Π²Π°ΠΆΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ : Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ ΡΠ·ΡΠΊΠ°, ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΡΠΈΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΡ ΡΠ»ΠΎΠ²Π°ΠΌ, ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡ Π² ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ
Lua Π±Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ»ΠΎ Π±Π΅Π· ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π»ΡΠ΄Π΅ΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ Π² TeCGraf ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π» ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΡΡΠ°ΡΡΠΈΠ΅: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ°, Π΅Π³ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ TeCGraf. ΠΡΠΎΠ±Π°Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ Marcelo Gattass, Π³Π»Π°Π²Π΅ TeCGraf, ΠΊΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π» Π½Π°Ρ ΠΈ Π΄Π°Π²Π°Π» Π½Π°ΠΌ ΠΏΠΎΠ»Π½ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ·ΡΠΊΠ° ΠΈ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Lua Π±ΡΠ» ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠΌ TeCGraf, ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π΅ΡΠ΅ Π΄Π°ΠΆΠ΅ Π΄ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΠΌΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ.
ΠΠ΅Π· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Lua Π±ΡΠ» Π±Ρ ΠΏΡΠΎΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈ ΠΈΡ
ΡΠ΅Π»ΠΈ β ΡΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π»Ρ ΡΠ·ΡΠΊΠ°. ΠΡ Π½ΠΈΡ
ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π»ΠΈ ΠΎΡΡΠ΅ΡΡ ΠΎ Π±Π°Π³Π°Ρ
, Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°Ρ
Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π½ΠΎΠ²ΡΡ
ΠΏΡΡΡΡ
Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΎΠ±Π°Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΡΠ»Π΅Π½Π°ΠΌ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΡΡΡΠ»ΠΊΠΈ Π·Π° ΠΈΡ
ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π·Π° ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π°ΡΠ΅ΠΌΡ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π°Π²ΡΠΎΡΠΈΡΠ°ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Ρ.
ΠΎΡ ΠΏΠ΅Ρ. ΠΡΠ»ΠΈ ΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°, ΡΠΎ ΠΌΠΎΠ³Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΌ Π²Π΅ΡΡΠΈΡΠΌ Lua, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ luajit.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π»ΠΈ π