ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ Π»ΡΠ° ΡΠΊΡΠΈΠΏΡ
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ
C# Π½Π° ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π° Visual Studio
ΠΠ°ΡΠ°Π»ΠΎ
ΠΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ (ΡΠΎ Π²ΡΠ΅ΠΌΠΈ dll, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ) Π²ΡΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΠΎΡΡΠ°
LuaInterface β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Lua ΠΈ CLR
Lua β ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΈΠΉ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡ Π΅Π³ΠΎ ΡΠ°Π·Π±ΠΎΡ
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½Ρ ΡΠΊΡΠΈΠΏΡΡ β Π²ΡΠ΄Π΅ΡΠΆΠΊΠ° ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ°
ΠΠΎ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±, Π½Π° Π³ΠΎΠ»ΠΎΠ²Ρ Π²ΡΡΠ΅ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ².
Β«ΠΠΊΠ΅ΠΉ, Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
Π΄Π΅Π» Ρ
Π²Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΎΠ² ΠΈΠ³ΡΠΎΠΊΠ°. ΠΠΎ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π² Π±ΡΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ?Β»
Π₯ΠΎΡΠΎΡΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ ΡΠΊΡΠΈΠΏΡΡ, Π΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΠ³ΡΠΎΠΊΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΠ³ΡΡ.
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ Π΄Π΅ΡΠΆΠ°ΡΡ, Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΠ³ΡΠΎΠΊΠ° Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΅ΡΠ²Π°Ρ ΠΌΡΡΠ»Ρ β Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π²ΡΠΊΠΈΠ΄ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ· ΠΌΠΎΠ·Π³Π° ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄. ΠΠΎΠ³ΠΈΠΊΠ° ΠΈΠ³ΡΠΎΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΡΠ°ΠΊΠΈΡ
ΠΆΡΡΠΊΠΈΡ
Π·Π°ΡΡΠ°Ρ.
Π ΡΡΠ°ΡΡΡΡ, Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΡ
ΡΠ·ΡΠΊΠΎΠ² Π΄Π»Ρ Π‘++, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½Π° Π²Ρ
ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Π³ΠΎ.
ΠΠ± ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΊΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Lua ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ LuaInterface, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΊΠΎΠ΄Ρ!
LuaInterface β ΠΎΡΠ½ΠΎΠ²Ρ
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β Lua
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ
ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΡΠ°ΠΊ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ β ΡΠΈΡΠ»ΠΎ, ΡΡΡΠΎΠΊΠ°, Π΄Π°ΠΆΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ (ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π±ΡΠ΄Π΅Ρ Π΄Π°Π»ΡΡΠ΅)
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ
Π Lua ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· C#
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΡΡΡΡΠΊΡΡΡ
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΡΠΈΡΡΠ½ΡΡ
ΡΡΠΎΡΠΎΠ½ LuaInterface, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄ΠΈΠ²ΠΈΡΡ ΡΠ΅Ρ
, ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Lua ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ C++, ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Β«Π½Π°ΠΏΡΡΠΌΡΡΒ»
Π’ΠΎ Π΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
Π ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Lua ΡΠΊΡΠΈΠΏΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ:
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Lua ΠΊΠΎΠ΄Π°
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Lua ΠΊΠΎΠ΄ (ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ) ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ
ΠΠ΅ΡΠ²ΡΠΉ β ΠΏΡΡΠΌΠΈΠΊΠΎΠΌ ΠΈΠ· C#
(ΠΠ±Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ object[] β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Lua ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ)
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ β ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΡΠΊΠΎΡΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ LuaException err
ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ· Lua
ΠΠ»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ· Lua Π½Π°Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ, Π²ΡΡΠ΄ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Π³ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ
Π’Π°ΠΊΠΆΠ΅ Π² Call(params object[] args) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ
Π’ΠΎΡ ΠΆΠ΅ ΡΠΈΠ½Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΌΠ΅ΡΡΠΎ LuaFunction ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ string, int, double ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΈΠΊΠ° Lua
Love2D β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
Π΄Π²ΠΈΠΆΠΊΠΎΠ² Π½Π° Lua
ΠΠΎΠ΄ Π΄Π»Ρ Minecraft Π½Π° Lua
https://bitbucket.org/Izaron/luaforhabr/src
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Lua
Lua ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ, Π±ΡΡΡΡΡΠΉ, Π»Π΅Π³ΠΊΠΈΠΉ, Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ·ΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π° Π² Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π² ΡΠ΅Ρ
ΡΠ»ΡΡΠ°ΡΡ
, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΡ Π΄ΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΡ (ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΡ) Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π»ΠΈΠ±ΠΎ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ ΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈΠ³Ρ).
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Ρ Ρ ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Lua Π² Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Lua Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠ°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Lua, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡ Lua Wiki ΠΈ Π·Π΄Π΅ΡΡ Wikipedia
Π― ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΈΡ Π² ΡΠΊΡΠΈΠΏΡ. Π‘ΠΊΡΠΈΠΏΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π² ΠΏΡΡΡΡ , ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ.
ΠΡΠΈΠΌΠ΅Ρ Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π» Π² Visual Studio ΠΏΠΎΠ΄ Windows. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ (ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°), ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ Windows, ΠΏΠΎΡΠ»Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , Ρ.ΠΊ. Lua ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ΅ΡΠΈΠΌ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ ΠΈ ΡΠΊΠ°ΡΠ°Π΅ΠΌ Lua Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠ»Ρ Windows ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π²ΠΎΡ ΡΡΠΎΡ Π°ΡΡ ΠΈΠ², Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊΠ°, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Lua.
ΠΠΎΡΠ΅ΠΌΡ extern Β«CΒ»? Lua Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ANSI C, Π΅ΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π±Π΅Π· extern Β«CΒ» ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ:
ΠΡΠΎ Π²ΡΠ·Π²Π°Π½ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ Π²ΡΠ·ΠΎΠ²Π°Ρ Π² C ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ Π² C++.
ΠΠ΅ Π·Π°Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊΠ°:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Lua ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.
int _tmain( int argc, _TCHAR* argv[])
<
// ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ
g_LuaVM = lua_open();
.
// ΠΠ°ΠΊΡΡΠ²Π°Π΅ΠΌ
lua_close(g_LuaVM);
>
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΈΠ· Lua. ΠΠ΅ΡΠ²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ:
ΠΡΠΎΡΠ°Ρ β ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»:
ΠΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΎΡΠΎΠΉ:
// Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°
// Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 1, ΠΈΠ½Π°ΡΠ΅ 0
int LuaRenameFile(lua_State *luaVM)
<
// ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΠΈΠ· Lua ΡΠΊΡΠΈΠΏΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
int argc = lua_gettop(luaVM);
// ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
return 1;
>
strDestination = strSource.substr(0, strSource.rfind(‘\\’) + 1) + strDestination;
int nResult = ( int )::MoveFileEx(strSource.c_str(), strDestination.c_str(), MOVEFILE_REPLACE_EXISTING|MOVEFILE_WRITE_THROUGH);
// ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π² Lua ΡΠΊΡΠΈΠΏΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ MoveFileEx
lua_pushnumber(luaVM, nResult);
// ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
return 1;
>
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ β Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ: ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠΈΠΏ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π°ΡΡ Lua Π·Π½Π°ΡΡ, ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ , Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ:
lua_register(g_LuaVM, «RenameFile», LuaRenameFile);
lua_register(g_LuaVM, «MatchString», LuaMatchString);
RenameFile ΠΈ MatchString ΡΡΠΎ ΠΈΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Β«Π²ΠΈΠ΄Π½ΡΒ» Π² ΡΠΊΡΠΈΠΏΡΠ΅.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΊΡΠΈΠΏΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ Π²ΡΡ ΡΠ°Π±ΠΎΡΡ:
Π§ΡΠΎΠ±Ρ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΡΠ°Π»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΡΠΈΠ²ΠΎΠΆΡ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ
// ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΡΡΠ΅ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΡ onFileFound
lua_getglobal(g_LuaVM, «onFileFound»);
// ΠΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π² ΡΡΠ΅ΠΊ ΠΏΡΡΡ ΠΊ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ (fileName Π² ΡΠΊΡΠΈΠΏΡΠ΅)
lua_pushstring(g_LuaVM, strFilePath.c_str());
ΠΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
// ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠΊΡΠΈΠΏΡ
int s = luaL_loadfile(g_LuaVM, szScriptPath);
// ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΡΠΈΠΏΡ
s = lua_pcall(g_LuaVM, 0, LUA_MULTRET, 0);
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ Lua ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΏΠΎ ΡΡΡΠΈ, ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ Π΄Π°Π΅Ρ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²Π°.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΡΡΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΎ Lua Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
Lua: ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈ Π½Π°ΡΠ°ΡΡ ΠΆΠΈΡΡ
Lua: ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈ Π½Π°ΡΠ°ΡΡ ΠΆΠΈΡΡ
ΠΠ° Lua ΠΏΡΠΎΡΠ½ΠΎ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠ»Π°ΡΡ ΡΠ»Π°Π²Π° ΠΏΠΎΠ»ΡΡΠ·ΡΠΊΠ° β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠΎΠΈΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΡΠΊΡΠΈΠΏΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π²ΡΠΎΠ΄Π΅ Π‘++. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Lua ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄Π°Π½Π½ΡΠΉ Π―Π ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΡΡΠ΅Π΄ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ². ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π½Π° perl, python, ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Lua, Ρ ΠΏΠΎΠΊΠ°ΠΆΡ ΠΊΠ°ΠΊ Ρ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΏΠΎ ΡΠΎΡΠΊΠ°ΠΌ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ° Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ»ΠΊΠΈΡΠ° Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ iup β ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Ρ ΡΠ°ΡΡΠ΅ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Lua.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Lua SDK
Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΈΠ΄Π΅ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Lua ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π―Π, Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΡΠ±ΠΎΡΠΊΠ° Lua for Windows, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π±Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΡ Π·Π°Π΄Π°ΡΠ°Ρ , Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ΄ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΠ‘: ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ, GUI, ΠΏΠ°ΡΡΠΈΠ½Π³ XML ΠΈ Ρ.Π΄. ΠΡΡΡΡ Π²Π°Ρ Π½Π΅ ΡΠΌΡΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π΅ΡΡΠΈΡ Lua Π² ΡΠ±ΠΎΡΠΊΠ΅ 5.1, Π° Π½Π΅ 5.2 β ΠΎΡΠΎΠ±ΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π½Π΅Ρ.
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΡ.
ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ iup
ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ°ΡΠ° ΡΠ»ΠΎΠ² ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ
Π‘ΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈΠ· ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ clibs/, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΊΡΠ΄Π° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Lua for Windows. Π§ΡΠΎΠ±Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π½Π° Π΄ΡΡΠ³ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΎΠ΄Π½Ρ ΠΏΠ°ΠΏΠΊΡ ΡΠ»Π΅Π΄ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ(ΡΠΊΠ°Π·Π°Π½Ρ Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΡΡΠΌΠΈ ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Lua):
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ ΡΠ°ΠΌ ΡΠΊΡΠΈΠΏΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΡΡ ΠΏΠ°ΠΏΠΊΡ Π½Π° Π΄ΡΡΠ³ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΠ°Π½ΡΠ°ΠΉΠΌΠ° Π½Π΅ Π½ΡΠΆΠ½Ρ.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Ρ cd.dll, cdluad51.dll ΠΈ iupcd.dll Π² Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Lua for Windows ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π·ΡΡΡ ΠΈΡ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π° ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅.
ΠΡΠΎΠ³ΠΈ
ΠΡΡ ΠΈΠ² Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΡΡ, Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡΡΠΊΠ°Π»ΠΊΠ° app.bat.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ, ΠΏΡΡΡΡ ΠΈ Π½Π΅ΠΊΠ°Π·ΠΈΡΡΡΡ, ΡΡΠΈΠ»ΠΈΡΡ, ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΊΠ°ΠΊ ΠΈ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½Π° Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Β«ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΌΒ» ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΡΡΡΡ Π² ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΡΠΌΠΌΠ°ΡΠ½ΡΠΌ Π²Π΅ΡΠΎΠΌ ΠΌΠ΅Π½Π΅Π΅ 2 ΠΌΠ±. ΠΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ β ΠΎΠΊΠΎΠ»ΠΎ 7 ΠΌΠ±. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΌ Lua ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ΅Π½, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠ°Ρ .
ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π±Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° Π΄Π»Ρ ΡΠΊΠΎΠ» ΠΈ ΠΈΠ½ΡΡΠΈΡΡΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡΡ . Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ»Π°Π±ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π² ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ Π‘ΠΠ, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ LuΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ²Π΅ΡΠ΅ ΠΏΠΎΡΡΠ΅ΠΏΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄Π° Linux Π½Π° Π΄Π΅ΡΠΊΡΠΎΠΏΡ. Π ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ ΠΏΠΎΡΠ΅ΡΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² ΡΠ°ΠΌΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° ΠΏΡΠΈ ΠΆΡΡΠΊΠΎΠΉ Π΅Π³ΠΎ ΠΆΠ΅ Π·Π°Π±Π°Π³ΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ°Π²Π½ΡΡΡ ΠΊ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ Π±Π΅Π΄ΡΡΠ²ΠΈΡ.
ΠΠ°Ρ ΠΠ΅ΡΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ QLUA
ΠΡ Π²ΠΎΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΈ ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ°ΡΠ½Π΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°, Π° Π½Π΅ Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°. ΠΠΎΠΎΠ±ΡΠ΅ ΡΠ°Π·Π½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π΅Ρ, Π½ΠΎ ΡΠΊΡΠΈΠΏΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅, ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ» Π½Π°ΡΠ°ΡΡ Ρ Π½Π΅Π³ΠΎ. ΠΡΠ»ΠΈ Π²Ρ ΡΠΈΡΠ°Π΅ΡΠ΅ ΡΠ°ΠΉΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°, ΡΠΎ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠΎ ΡΠΊΡΠΈΠΏΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ±ΡΡΠ½ΠΎ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ QUIK, ΡΠΎΠ·Π΄Π°Π² Π² Π½Π΅ΠΉ ΠΏΠ°ΠΏΠΊΡ Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΡ ΠΏΠΎΡΡΡΠΏΠΈΠΌ ΡΠ°ΠΊ ΠΆΠ΅. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ, Π³Π΄Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° QUIK.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈ ΡΠ°ΠΉΠ»Ρ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π² Π½Π΅ΠΉ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ Π΅Π΅ lua, Π² Π½Π΅ΠΉ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ lua ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π² Π½Π΅ΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΏΡΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΌΡΡΠΈ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΡΠΎΠ·Π΄Π°ΡΡ, ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ Π’Π΅ΠΊΡΡΠΎΠ²ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π½Π΅Π³ΠΎ, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ Π½Π°ΡΠ΅Π³ΠΎ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. Π― ΡΡΠ°ΡΠ°ΡΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΠΈΠ΅ Π±ΡΠΊΠ²Ρ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π²ΡΡ ΠΏΠΈΡΡ Π»Π°ΡΠΈΠ½ΠΈΡΠ΅ΠΉ. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ myNewScript. Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° txt, Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ lua. Π ΠΈΡΠΎΠ³Π΅ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ myNewScript.lua ΠΡΡΠ°ΡΠΈ Π³ΠΎΠ²ΠΎΡΡ, Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ ΠΏΠΎΠΊΠ°Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° .txt, ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ lua Π½Π΅Ρ ΡΠΌΡΡΠ»Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Windows Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .txt, Π² Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π²Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ .lua. ΠΠΎΡΡΠΎΠΌΡ Π»ΠΈΠ±ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, Π»ΠΈΠ±ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈΠ· notepad.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈΠ· notepad, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ notepad. ΠΠ²Π΅ΡΡ Ρ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ° new 1. Π ΠΌΠ΅Π½Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ, Π±ΠΎΠ»ΡΡΡΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΡΡ Π±ΡΠΊΠ²Ρ L ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ ΠΏΡΠ½ΠΊΡ lua. Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΌΠ΅Π½Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ Π€Π°ΠΉΠ» ΠΈ ΠΈΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΏΡΠ½ΠΊΡ Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΠΊ. ΠΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ, Π³Π΄Π΅ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° QUIK, Π² Π½Π΅ΠΉ ΠΈΡΠΈΡΠ΅ ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅ ΠΏΠ°ΠΏΠΊΡ lua. ΠΠ½ΠΈΠ·Ρ Π³Π΄Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΏΠΈΡΠΈΡΠ΅ myNewScript Π Π²ΠΎΡ Π½ΠΈΠΆΠ΅, Π³Π΄Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π°, Ρ Π²Π°Ρ ΡΠΆΠ΅ Π²ΡΠ±ΡΠ°Π½ ΠΏΡΠ½ΠΊΡ Lua Source file, Π΅ΡΠ»ΠΈ Π½Π΅ Π²ΡΠ±ΡΠ°Π½ ΠΈΡΠΈΡΠ΅ ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅. ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΈΡΠ°Π»ΠΈ Π½Π° ΠΌΠΎΡΠΌ ΡΠ°ΠΉΡΠ΅ ΡΡΠ°ΡΡΠΈ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° Π Π°Π±ΠΎΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ, ΡΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΡΠΎ ΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ notepad++ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΠΏΠ°Π½Π΅Π»Ρ ΠΡΠΎΠ΅ΠΊΡ 1 ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΡΠΌΠ°Ρ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ ΡΠ°ΠΉΠ» Π² ΡΡΡ ΠΏΠ°Π½Π΅Π»Ρ. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΡΠ°ΡΡΡ ΠΡΠΎΠ΅ΠΊΡΡ Π² notepad++ Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ.
ΠΡ ΡΡΠΎ ΠΆΠ΅ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΌΡ, ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡΡ ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ ΡΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΊ ΡΠ·ΡΠΊΡ lua, ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π· Π² ΡΠ°ΠΉΠ»Π΅ ΠΏΠΎΠΌΠΎΡΠΈ QLUA.chm, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π³Π»Π°Π²Ρ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅, ΡΠΈΠ½ΡΡ Π΄ΠΈΡΠΊΠ΅ΡΠΊΠ° Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ.
ΠΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΡΠΊ
ΠΠΎΠΊΠ° ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ΅Π½ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅ ΡΠΏΠ΅ΡΠΈΡΠ΅, Π²ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, Π° ΠΏΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠΈΡΠ΅, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠΊΠ½ΠΎ Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ notepad++, Π³Π΄Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ΄ ΡΠΊΡΠΈΠΏΡΠ°, Π² ΠΌΠ΅Π½Ρ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΠΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ANSI. Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² QUIK ΠΈ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡ Β«ΠΡΠΏΠΎΠ»Π½Π΅Π½ Π·Π°ΠΏΡΡΠΊ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°Β». ΠΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Windows-1251, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΎΠΊ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ.
ΠΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΠΠ²ΠΈΠΊ
ΠΡ ΡΡΠΎ ΠΆΠ΅, ΡΠΊΡΠΈΠΏ Π½Π°ΠΏΠΈΡΠ°Π½, ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠ΅Π½, ΡΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³, ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π½Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΡΠΎΠΌ, Π° Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΏΠ΅ΡΠ΅Π΄. ΠΠ°Π»ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅, ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΡΠ΅ΠΌ ΡΡΠΎ ΠΌΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΠΎΠ½Π°ΠΏΠΈΡΠ°Π»ΠΈ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ Π΅ΡΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈ Ρ ΡΠ΅ΠΌ ΠΈΡ Π΅Π΄ΡΡ β Lua & C++
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ, Π₯Π°Π±ΡΠ°Ρ
Π°Π±Ρ!
Π Π΅ΡΠΈΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎΡ ΡΠΎΠΏΠΈΠΊ Π½Π° ΡΠ΅ΠΌΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ?
ΠΠΎ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±, Π½Π° Π³ΠΎΠ»ΠΎΠ²Ρ Π²ΡΡΠ΅ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ².
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
Β«ΠΠΊΠ΅ΠΉ, Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
Π΄Π΅Π» Ρ
Π²Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΎΠ² ΠΈΠ³ΡΠΎΠΊΠ°. ΠΠΎ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π² Π±ΡΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ?Β»
Π₯ΠΎΡΠΎΡΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ ΡΠΊΡΠΈΠΏΡΡ, Π΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΠ³ΡΠΎΠΊΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΠ³ΡΡ.
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ Π΄Π΅ΡΠΆΠ°ΡΡ, Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΠ³ΡΠΎΠΊΠ° Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΅ΡΠ²Π°Ρ ΠΌΡΡΠ»Ρ β Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π²ΡΠΊΠΈΠ΄ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ· ΠΌΠΎΠ·Π³Π° ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄. ΠΠΎΠ³ΠΈΠΊΠ° ΠΈΠ³ΡΠΎΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΡΠ°ΠΊΠΈΡ
ΠΆΡΡΠΊΠΈΡ
Π·Π°ΡΡΠ°Ρ.
Π ΡΡΠ°ΡΡΡΡ, Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΡ
ΡΠ·ΡΠΊΠΎΠ² Π΄Π»Ρ Π‘++, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½Π° Π²Ρ
ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Π³ΠΎ.
ΠΠ± ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΊΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Lua ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ.
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ for, while, if, ΠΏΡΠΎΡΠΈΡ
.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
ΠΠ°ΠΊ ΠΆΠ΅ ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ³ΡΠΎΠΊΠΎΠΌ ΡΠ΅ΡΠ΅Π· ΡΠΊΡΠΈΠΏΡΡ?
ΠΡ Π² Π‘++-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, Β«ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΒ» ΠΈΡ
ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π² ΡΠΊΡΠΈΠΏΡΠ΅. Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ SetPos(x,y) Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈΠ³ΡΠΎΠΊΠ° Π² Π‘++-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΠΎ, Π²ΡΡΡΠ΅ΡΠΈΠ² ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅, Β«ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΒ» ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Π‘++-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
Π£Π΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π΄Π°? π
UPD: ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΠ΄ΠΈΠ½ ΡΠ·Π΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΡΡ ΠΌΠ½Π΅ Ρ ΠΌΠ΅ΠΉΠ»ΠΎΠΌ, ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°Π»ΠΈΠ²Π°Π» ΠΊΠΎΠ΄, Ρ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΡΡΠ°Π½ΠΈΠ» Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ β habrahabr.ru/post/196272/#comment_6850016
Π ΠΊΠΎΠ΄Π΅ Ρ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈΡ Ρ
Π°Π±ΡΠ° ΠΏΡΠΎΠ½ΠΈΠΊΠ»ΠΈ ΠΆΡΡΠΊΠΈ
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π²ΡΠΎΠ΄Π΅
Π Π΅ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ lua_CFunction ΠΏΡΠΎΡΠΊΠ°ΠΊΠΈΠ²Π°Π΅Ρ lua_cfunction
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Π― Π³ΠΎΡΠΎΠ²!
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ!
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π³ΠΈΡΡ
Π°Π±Π΅ (Π½ΠΈΠ· ΡΠΎΠΏΠΈΠΊΠ°) lib’Ρ ΠΈ includ’Ρ Lua, Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·ΠΌΠΈΡΠ΅ ΠΈΡ
Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π»ΠΈΠ±ΠΎ Win32 (ΡΡΠΎ Π½Π΅Π²Π°ΠΆΠ½ΠΎ) Π² Visual Studio (Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎΠΈΡ Π²Π΅ΡΡΠΈΡ 2012)
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΡΠΎΠ΅ΠΊΡ->Π‘Π²ΠΎΠΉΡΡΠ²Π°->Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ->ΠΠ°ΡΠ°Π»ΠΎΠ³ΠΈ VC++ ΠΈ Π² Β«ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΒ» ΠΈ Β«ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΒ» Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Include ΠΈ Lib ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» main.cpp, ΠΏΠΈΡΠ΅ΠΌ Π² Π½Π΅ΠΌ:
ΠΠ°ΠΊ Π²Ρ Π΄ΠΎΠ³Π°Π΄Π°Π»ΠΈΡΡ, Ρ ΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΊΠΎΠ΄ΠΈΠ½Π³Ρ
ΠΠ±Π΅ΡΠ°Ρ, ΡΡΠΎ Π±ΡΠ΄Ρ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
Π£ Π½Π°Ρ Π·Π° ΡΠΊΡΠΈΠΏΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΊΠ»Π°ΡΡ Script. Π― Π±ΡΠ΄Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Script.h/.cpp
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Script.cpp ΠΈ ΠΏΠΈΡΠ΅ΠΌ Π² Π½Π΅ΠΌ
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Script.h ΠΈ ΠΏΠΈΡΠ΅ΠΌ Π² Π½Π΅ΠΌ
ΠΠΎΡΠ»Π΅ 2 ΡΡΡΠΎΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄ #endif ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠΈΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΉΠ» Game.h ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ Script.h, Π° Script.h ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ Game.h β Π½Π΅ΠΏΠΎΡΡΠ΄ΠΎΠΊ! Π Ρ ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ 1 ΡΠ°Π·
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΈΡΠ΅ΠΌ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΠΎΡ ΡΡΠΎ
ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΌ lua.lib ΠΈΠ· Π°ΡΡ
ΠΈΠ²Π°.
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ΅Π½ extern Β«CΒ»? ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ lua Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π‘ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΠ°Π»ΡΡΠ΅ ΠΈΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°
Π‘Π°ΠΌΡΠΉ Π³Π»Π°Π²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Lua Π΄Π»Ρ C++ β lua_State, ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠ°Π»ΡΡΠ΅ ΠΈΠ΄ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ lua_State
ΠΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² Script.cpp
ΠΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΎΠΉ ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π½Π°Ρ lua_State.
ΠΠΎΡΠΎΠΌ ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Β«ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΒ». ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Β«ΡΠΈΡΡΠΎΠΌΒ» Π²ΠΈΠ΄Π΅ Π² Π»ΡΠ° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡ print(). ΠΠ»Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΈ ΠΏΡΠΎΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΠΎΡΠΎΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡ
ΠΊΠ°ΠΊ math.foo, base.foo, io.foo. ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² lualibs, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, <Β«mathΒ», luaopen_math>. ΠΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ luaopen_. Π² ΠΊΠΎΠ½ΡΠ΅ lialibs Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΎΡΡΡ
ΠΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ lua_close()
Π ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°ΠΉΠ». ΠΠ° Π²Ρ
ΠΎΠ΄ ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«C:\\script.luaΒ».
ΠΠΎΡΠ΅ΠΌΡ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int? ΠΡΠΎΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ return, ΠΏΡΠ΅ΡΡΠ²Π°Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅, Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ int. ΠΠΎ Π²ΠΎΠ·ΡΠ°ΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ int, Π½ΠΎ Π΅ΡΠ΅ ΠΈ bool ΠΈ char*, ΠΏΡΠΎΡΡΠΎ Ρ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΡΠΈΡΠ»Π° (lua_toboolean, lua_tostring)
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ (ΡΠΈΡΠ»Π°, ΡΡΡΠΎΠΊΠΈ, ΡΡΠ½ΠΊΡΠΈΠΈ)
ΠΡ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ class T ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ²ΠΎΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
*ΠΠ°ΠΏΠΈΡΠ°Π½* ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ β ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΠΈ, Π³ΠΎΠ΄Π½ΡΠ΅ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ:
ΠΠ΄Π΅ n β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ n = 2, ΡΠΎ Π² ΠΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΠΌΠ°Π½ΡΠ°Π»Ρ ΠΏΠΎ ΠΡΠ°, Π΅ΡΠ»ΠΈ Π±ΡΠ»ΠΈ ΡΠ΄ΠΈΠ²Π»Π΅Π½Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ π
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΠΡΠ°. ΠΡΠ»ΠΈ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΠΎ ΡΠ°ΠΌΠΎΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ Lua, Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠ΄ΠΈΠ²Π»Π΅Π½Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ²? π
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ Π΅ΡΠ΅ ΠΈ ΡΠ°Π±Π»ΠΈΡΠ°, Ρ ΡΠ°ΠΊ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄Π΅Π»Π°Ρ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ
ΠΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΈΠΏΠ° int foo(lua_State*), ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π² ΠΡΠ°.
ΠΠ΅ΡΠ²Π°Ρ ΠΈΠ· Π½ΠΈΡ β ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½ΡΠΆΠ½Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Write(), ΠΊΡΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡ
Π°ΡΡ ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ
ΠΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΆΠ΅
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ΅
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠΈΠΏΡ, ΠΎΠΏΠΈΡΡΠ²Π°Π²ΡΠΈΠ΅ΡΡ ΡΠ°Π½Π΅Π΅, ΠΊΡΠΎΠΌΠ΅ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
index β ΡΡΠΎ Π½ΠΎΠΌΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 1.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΊΡΠΈΠΏΡ
ΠΠΎΠ΅Π²ΠΎΠΉ ΠΊΠΎΠ΄
ΠΠΎΡΠ° ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΄Π΅Π»Π°ΡΡ!
ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ main.cpp
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°
ΠΠΎΠΌΠ½ΠΈΡΠ΅, Ρ ΠΎΠ±Π΅ΡΠ°Π» ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Write? π
ΠΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ main.cpp
Π Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» script.lua
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ script.lua
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ 2 ΡΡΡΠΎΠΊΠΈ («\n» β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ), ΠΆΠ΄Π°ΡΡ Π½Π°ΠΆΠ°ΡΠΈΡ Enter ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ.
ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ!
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ main.cpp Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ script.lua