ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅
ObjectScript β Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΡΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½? ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ, Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈ ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ: Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΈ ΠΏΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π·Π°Π΄Π°Ρ. Π ΠΎΠ΄Π½ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈ ΠΏΠ»ΡΡΡ, Π² Π΄ΡΡΠ³ΠΈΡ β Π΄ΡΡΠ³ΠΈΠ΅. ΠΠΎΡ Ρ ΠΈ ΡΠ΅ΡΠΈΠ» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π·Π°Π΄Π°Ρ.
ObjectScript ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΊΠ°ΠΊ JavaScript, Lua ΠΈ PHP. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²Π·ΡΡ ΠΈΠ· JavaScript, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ β ΠΈΠ· Lua, ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°Π΅ΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ β ΠΈΠ· PHP.
ΠΡΠΎΠΌΠ΅ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ObjectScript Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠ²ΠΎΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠΈΡΠΊΠΈ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ±ΡΠ°ΡΡ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΡΠΌΠΈ?
ObjectScript Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π½ΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΡΡ Π½Π΅ ΠΏΡΠΈΡΠ΅ΠΌ, Π²ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΈ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΡΠΊΡ), ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ (;) ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅Π· ΡΠ²Π½ΠΎΠΉ Π½Π° ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΡΠΈΠ²ΡΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
Π Π·Π°ΡΠ΅ΠΌ ΡΠ°ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠ°Ρ?
ΠΠ°ΠΏΡΡΡΠ΅ Π² ObjectScript ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ Π² ΡΠ·ΡΠΊΠ΅ ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ concat, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ³Π΄Π° ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ Π·Π°ΠΏΡΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΡΠ°ΡΠΈΠ²ΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ! name, count ΠΈ time β Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ .. (Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ) Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ concat ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, Π΄Π° ΠΈ Π±ΡΡΡΡΠ΅Π΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ½ΠΎΠ³Π΄Π° Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π·Π°Π΄Π°Π½ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌ Π΄Π»Ρ JavaScript ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅. Π’Π°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² ObjectScript, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΠ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΈΠ²ΠΎ. Π ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ±ΡΠ°ΡΡ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ?
Π£ΠΆΠ΅ ΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½Π΅Π΅?! ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π·ΡΡΠ° ΠΈΠ· Lua. Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΠΈ ΡΠΈΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ!
ΠΠ±ΡΠ΅ΠΊΡΡ
ΠΠΎ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ. Π Π·Π°ΡΠ΅ΠΌ ΡΠ°ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠ°Ρ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°? Π Π΅ΡΠ»ΠΈ Π±Π΅Π· Π½Π΅Π΅?
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ, Π½ΠΈΡΠ΅Π³ΠΎ Π»ΠΈΡΠ½Π΅Π³ΠΎ, Π° Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ:
Π’.Π΅. ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ (ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, ΡΠ°ΠΊ ΠΈ Π·Π½Π°ΠΊ ΡΠ°Π²Π½ΠΎ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ Π·Π°ΠΏΡΡΡΠΌΠΈ, ΡΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΊ (;) ΠΈΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π²ΠΎΠ²ΡΠ΅. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π² ObjectScript:
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠ΅ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ, ΠΊΠ°ΠΊ Π² ΠΌΠ°ΡΠΈΠ²Π΅. ΠΠ½Π΄Π΅ΠΊΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½ΡΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π²ΡΠ²Π΅Π΄Π΅Ρ one. Π ΡΡΠΎ Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π° Π½Π΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π»Π΅Π³ΠΊΠΎ:
Π’.Π΅. Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ:
ΠΠΎΡΡΠ΄ΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡ (ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π²Π°ΠΆΠ½ΠΎ Π² ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ , ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅).
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠ²Π΅Π΄Π΅Ρ powerful, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΌΠ΅Π»ΠΎ.
ΠΠ°ΡΠΈΠ²Ρ
ΠΠ°ΡΠΈΠ²Ρ β ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ. ΠΠ°ΠΊ ΠΈ Π² JavaScript ΠΌΠ°ΡΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡ Π² ΡΠ΅Π»ΠΎΠΌ Π²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ β ΡΠ±ΡΠ°ΡΡ Π·Π°ΠΏΡΡΡΠ΅:
ΠΡΠ³Π»ΡΠ΄ΠΈΡ Π΄Π°ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²Π°Π»ΠΈΠ΄Π½ΠΎ Π΄Π»Ρ ObjectScript.
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅
ObjectScript ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0, j ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡΡ 1, k β 3. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΌΠ΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ:
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΠΎ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΌΠ΅Π½ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π€ΡΠ½ΠΊΡΠΈΡ test Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ a ΡΠΎΡ ΡΠ°Π½ΠΈΡΡΡ 1, Π° Π² b β 2. ΠΡΠ»ΠΈ Π·Π°ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ΅ΠΌ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ, ΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡΡ ΠΏΡΡΡΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ β null
ΠΡΠ΅ΡΠ°ΡΠΎΡΡ
ΠΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ²Π΅Π΄Π΅Ρ:
ΠΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ObjectScript Π²ΠΈΠ΄ΠΈΡ for in, ΠΎΠ½ Π³Π΅Π½Π΅ΡΠΈΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
ΠΠΎ-ΡΡΡΡΠΊΠΈ Π³ΠΎΠ²ΠΎΡΡ Π΄Π»Ρ obj Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ __iter, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΠ°ΡΠ΅ΠΌ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ:
ΠΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΠ½ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ true, Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π²Π°Π»ΠΈΠ΄Π½Π°, Π° Π·Π°ΡΠ΅ΠΌ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΎΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ:
ΠΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½, ΡΠΎ break ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ ΡΠΈΠΊΠ».
ΠΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ β ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΠ°ΠΌΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΅ ΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΎ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΌΠ°ΡΠΈΠ²Π°ΠΌ. ΠΡΠ΅ΡΠ°ΡΠΎΡ ΠΌΠ°ΡΠΈΠ²Π° Π½Π° ObjectScript Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎ-ΠΏΠΎΡΡΠ΄ΠΊΡ. Array β ΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ²ΠΎΠ². Π Π‘++ ΡΡΠΎ Π±ΡΠ» Π±Ρ class Array. ΠΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠ°ΡΠΈΠ², ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Array ΠΊ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°. ΠΠ΅ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ²Π΅Π΄Π΅Ρ true (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ === ΡΡΠΎ ΡΡΡΠΎΠ³ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²). ΠΠΎ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ. Π ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ΅ Array ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ __iter (ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΎΠ½Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ). Π Π΄Π°Π»Π΅Π΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΈΡΡΠ°Ρ ΡΡΡΠΊΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ (Π°Π½Π³. closure). ΠΠ°, ObjectScript ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ΅ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π»ΡΠ±Π°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π²ΡΠ΅Ρ ΡΠ²ΠΎΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ). Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ i, self.
Π i ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ 0, Π° Π² self ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ this (ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ°ΡΠΈΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ).
ΠΠ°Π»Π΅Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ Π»ΠΈ ΠΌΡ ΠΊΠΎΠ½ΡΠ° ΠΌΠ°ΡΠΈΠ²Π° (# β ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²), ΠΈ Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΎΠΊ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true (ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ, ΡΡΠΎ ΠΌΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅), Π΄Π°Π»Π΅Π΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΠ°ΠΌΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ, Ρ.Π΅. ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠ²ΠΎΠΈΠΌ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΡΠ΅ΠΌ. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π·Π°ΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ iter_valid, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ null ΠΈ ΡΠΈΠΊΠ» ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ:
ΠΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ iter_valid ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ.
ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΌΠ΅ΡΠΈΡΡ Β«Π° ΠΊΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠ°ΠΌ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ·Π²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ __iter?Β» ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°Π². ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π±Ρ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ ΡΠ»Π΅Π΄ΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Function β ΡΡΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ call ΠΈ apply, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ Π² JavaScript.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΠΠ) Π² ObjectScript
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠ½ΡΡΡ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ°, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ·Π°Π½ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΠΠ Π²ΠΎ Π²ΡΠ΅ΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΡΠ°ΡΠ΅.
ΠΠΏΠΈΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Person β ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ, ObjectScript Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ __construct. ΠΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ»ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
ΠΠ· Π½ΠΎΠ²ΡΡ ΡΠΈΡΠ΅ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ __get@fullname, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΡΠ²Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° walk:
ΠΠ΅ΡΠΎΠ΄ __get@fullname Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° fullname. ΠΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΠΎΠΉΡΡΠ², Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΆΠ΅ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π‘Π²ΠΎΠΉΡΡΠ²Π°, getter-Ρ ΠΈ setter-Ρ.
ΠΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ __get@fullname ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ» @, ΠΊΠΎΡΠΎΡΡΠΉ Π² ObjectScript ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²Π°Π»ΠΈΠ΄Π½ΡΠΌ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΠΈΠΌΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½Π° ΡΡΠ΄Ρ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ $ Π½Ρ ΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ.
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ ΠΎΡ Person.
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ extends, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ exp1 ΠΈ exp2, Π»ΡΠ±ΡΡ , Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ°ΡΡΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ:
ΠΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ:
super Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°) Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΡΡΠΎ __construct, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠΠ Π½Π° Π·Π°ΠΊΡΡΠΊΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΠΉ Π²Π΅ΠΊΡΠΎΡ:
Π‘Π²ΠΎΠΉΡΡΠ²Π°, getter-Ρ ΠΈ setter-Ρ
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ β ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½Π°Ρ ΡΡΡΠ½ΠΎΡΡΡ (Π½Π΅Ρ, Π½Π΅ Π² Π²ΠΈΠ΄Π΅ Π³Π½ΠΎΠΌΠΈΠΊΠ°, Ρ ΠΎΡΡ. ), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, Π½ΠΎ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ .
ΠΠ΅ΡΡΠ΅Ρ (getter) β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΠ΅ΡΡΠ΅Ρ (setter) β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ObjectScript Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ? ΠΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° color ObjectScript ΠΈΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ color. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΠΎΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΡΠΎ ΠΎΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΠΈΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ __get@color, Π½Π°ΡΠ΅Π»ΡΡ β ΠΎΡΠ»ΠΈΡΠ½ΠΎ, Π·Π½Π°ΡΠΈΡ ObjectScript Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΡΠ»ΠΈ Π½Π΅ Π½Π°ΡΠ΅Π»ΡΡ, Π½Π΅ Π±Π΅Π΄Π°, ObjectScript ΠΈΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ __get. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ, ΡΠΎ ObjectScript Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½Π°ΡΠ»ΠΎΡΡ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ null ΠΈ ΡΠΎΡΠΊΠ°.
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π²ΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ __get ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ __set. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ:
Π’ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ delete, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° __del.
ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°
ObjectScript ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ (ΠΎΠ±ΡΡΠ½ΡΠΉ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊΠΎΠ²) ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΌ:
Π ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ? Π ObjectScript ΡΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π°Π»ΡΠ½ΠΎ!
ΠΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ __setdim, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ β Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° (ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ Π΄Π²ΡΡ ).
ΠΡΡΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°
Π ΡΡΠΎ Π½Π° ΡΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°?
ΠΠΏΠΎΠ»Π½Π΅! ObjectScript Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ: __getempty, __setempty, __delempty. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΡΠΈΡΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π».
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ° Π·Π°ΠΊΡΡΠΊΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π±Π»ΠΎΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π·Π°ΠΏΡΡΡΠ΅ ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ:
Π ΡΡΠ½ΠΊΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ arguments β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΠΈΠ² Π²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π°, . (ΡΡΠΈ ΡΠΎΡΠΊΠΈ) β ΠΌΠ°ΡΠΈΠ² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ # Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ __len. ΠΠ»Ρ ΡΡΡΠΎΠΊ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΡΡΠΎΠΊΠ΅, Π° Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΎΠ² β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ Object Π·Π°Π²Π΅Π΄Π΅Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ:
Π Ρ.ΠΊ. Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΡΠΎΠΊΠ° ΠΈ ΠΌΠ°ΡΠΈΠ²Ρ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ ΠΎΡ Object, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ length, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΌΠ°ΡΠΈΠ²Π°Ρ , Π½Π° ΠΌΠ°Π½Π΅Ρ JavaScript.
ΠΠ· Π½Π΅ΠΎΠ±ΡΡΠ½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ** β Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ.
ΠΠ· ΡΡΡΡΠΊΡΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ:
ΠΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ObjectScript Ρ ΡΠ°Π½ΠΈΡ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΈΡΠ΅ΠΌ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Π±ΡΠ»Π° ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠ»ΡΡΠ΅Π½Π° Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ.
ObjectScript ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ»ΠΎΠ²Π° Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΏΠ΅ΡΠ²ΠΎΠ΅ β debugger (ΠΊΠ°ΠΊ Π² JavaScript). ΠΡΠΈ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΈ debugger ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² Π΄Π΅Π±Π°Π³Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎΡΠΎΠ΅ β debuglocals, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ Π²ΠΈΠ΄ΠΈΠΌΡΡ ΠΈΠ· ΡΠΎΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ debuglocals Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΡΡ ΠΈ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ObjectScript ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π΅Ρ tail call. ΠΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Ρ. ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅ΡΡΠΈΡΡ call stack ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π½Π΅ ΡΠ²Π΅Π»ΠΈΠ²Π°ΡΡ call stack, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΡΠ΅Π±Ρ Π² Π½Π΅Π³ΠΎ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠΈΠΏ boolean ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: Π·Π½Π°ΡΠ΅Π½ΠΈΡ null, false ΠΈ NaN Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ false, Π²ΡΠ΅ Π΄Ρ. Π·Π½Π°ΡΠ΅Π½ΠΈΡ β true, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΈ ΡΠΈΡΠ»ΠΎ 0.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ && ΠΈ || Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΎ ΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ. Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ clone, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΎΠ², ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π΄Ρ. ΡΠΈΠΏΡ Π½Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡΡΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ. ΠΠΎ Π½Π° ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ __clone, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΡΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅. ΠΠΎΠΏΡΠΎΡ ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ΅ΡΠ΅Π½ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ΡΡΡ ΡΠΌΡΡΠ» Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎ, ΡΡΠΎ Π²Π΅ΡΠ½Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ __clone. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠΌΠΎΠΆΠ΅Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ²ΠΎΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ userdata, Π΅ΡΠ»ΠΈ ΠΏΠΎΠΆΠ΅Π»Π°Π΅Ρ.
Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ typeof, valueof, numberof, stringof, arrayof, objectof, functionof, userdataof. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ.
ΠΡ Π²ΠΎΡ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ°ΠΊ. ΠΡΠ»ΠΈ Π²Π°ΠΌ ObjectScript ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΡΠ·ΡΠΊ Π²ΠΌΠ΅ΡΡΠ΅. Π’Π΅ΠΊΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ β ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°, Π±Π°Π³ΡΠΈΠΊΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, environment Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² JavaScript (ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π΄Π»Ρ Π²Π΅Π±Π°). ΠΡΠ΅Π΄Π»Π°Π³Π°ΠΉΡΠ΅ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅.
Π‘ΡΠ°Π½Π΄Π°ΡΡ ΡΠ·ΡΠΊΠ° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΠ±ΡΠ΅ ΠΈΠ΄Π΅ΠΈ Π±ΡΠ΄ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ.
ΠΠ± ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ C++ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ. ΠΠΊΡΠ°ΡΡΠ΅:
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅? Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ, ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° github, ΠΏΡΡΠΌΠ°Ρ ΡΡΡΠ»ΠΊΠ° Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΡ OS\examples ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» test3.cmd.
Π ΡΠ°ΠΉΠ»Π΅ test3.txt Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ObjectScript ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π» ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π²Π½ΡΡΡΠΈ ΡΠ·ΡΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π ΡΡΡ ΠΎΠΌ ΠΎΡΡΠ°ΡΠΊΠ΅
ObjectScript ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ JSON, Ρ.ΠΊ. ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ, ΠΊΠ°ΠΊ ΡΠ²ΠΎΠΉ ΡΠΎΠ΄Π½ΠΎΠΉ, Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΎΠ² ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ObjectScript ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΠ»ΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΊΠ°ΠΊ JavaScript, Lua ΠΈ PHP, ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ObjectScript β ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π²ΡΠ΅ Π΅Π³ΠΎ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ new ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π΅Π»Π°Ρ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ObjectScript ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π½ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° ΠΏΡΠΎΡΡΠΎΡΡ ΠΈ ΡΠΈΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ. ObjectScript ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° C++, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ Π‘++ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ). ObjectScript β ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΈΠΉ, ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ 459 ΠΠ±. Π―Π·ΡΠΊ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ°Π΄ΠΈΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π°ΡΠ°Π» Π΄Π΅Π»Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ObjectScript ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΠΈΠ΄Π΅ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅Π΅Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ:
Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ ΡΠΊΠ°Π·Π°Π½Ρ ΡΡΡΠ»ΠΊΠΈ, ΠΎΡ ΠΊΡΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
PEP 572 (ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π² python 3.8)
PEP 572 β ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΡ
ΠΡΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΉΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ NAME := expr.
Π ΡΠ°ΠΌΠΊΠ°Ρ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π±ΡΠ» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ (dictionary comprehension). ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° Π²ΡΡΠΈΡΠ»ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠ»ΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»ΡΡΡ).
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ PEP, Π΄Π°Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΡΠ°Π» Π½Π΅ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΠΊ Β«ΠΌΠΎΡΠΆΠΎΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΒ» (the walrus operator). Π€ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ β Β«ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡΒ» (ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡ PEP: Assignment Expressions), Π½ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ, ΠΊΠ°ΠΊ Β«ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΒ» (Named Expressions). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π»ΠΎΠ½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π² CPython ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅.
ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅Β» ΠΈΠΌΡ Π²ΠΌΠ΅ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠΎΠ² (list comprehension), Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π΄ΡΡΠ³ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ .
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠ΅ΠΉ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΠ΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°Ρ Π²Π°ΡΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π²Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Β«ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ²Β» Π²ΠΈΠ΄Π° Β«ΠΈΠΌΡ := Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅Β». ΠΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π»ΠΈΡΠ½ΠΈΠΉ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³, Π° Π·Π½Π°ΡΠΈΡ ΡΠ½ΠΈΠΆΠ°Π΅Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π½Π΅ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ (ΡΠ°ΡΡΠ°Ρ ΠΏΡΠΈΡΠΈΠ½Π° Heisenbugs [ΠΏΡΠΈΠΌ. Π³Π΅ΠΉΠ·Π΅Π½Π±Π°Π³ΠΈ β ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠ΄Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΠΌΠΎΠ³ΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ ΠΏΡΠΎΡΠ²ΠΈΡΡΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅] ), Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ΅Π½ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ.
ΠΠ°ΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΎΠ³ΠΎ PEP ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ (ΠΊΠ°ΠΊ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΊΠΈ, ΡΠ°ΠΊ ΠΈ ΠΊΡΠΈΡΠΈΠΊΠΈ) ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π½Π° ΠΈΠ³ΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΈ Π½Π° ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , Ρ Π΄ΡΡΠ³ΠΎΠΉ.
ΠΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈΠ³ΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π²ΠΎΡΠΊΠ°: ΠΎΠ½ΠΈ ΡΠ°ΡΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π°Π±ΡΡΡΠ°ΠΊΡΠ½Ρ, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ Β«ΠΎ, ΡΡΠΎ Π½Π΅ΠΎΡΡΠ°Π·ΠΈΠΌΠΎΒ», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ²Π΅ΡΠ³Π½ΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ Β«Π― Π±Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΊ Π½Π΅ Π½Π°ΠΏΠΈΡΠ°Π»Β». ΠΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΆΠ΅ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΠΊΡΠΈΡΠΈΠΊΠΎΠ², ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠΈΡ ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» (Β«ΠΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π·Π°ΠΏΡΡΠ°Π½ΠΎΒ», Π³ΠΎΠ²ΠΎΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π»ΡΠ΄ΠΈ).
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΅ΡΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΡΠΎΡΠ½ΠΈΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠΌ Π½ΠΈΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ . ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π±Π΅Π· ΡΠ°Π·ΠΌΡΡΠ»Π΅Π½ΠΈΠΉ ΠΎΠ± ΡΡΠΎΠΌ PEP-Π΅. Π’ΠΎ Π΅ΡΡΡ ΠΊΠΎΠ΄, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΡΠ°ΡΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π±Π΅Π· ΡΠ°Π·Π½ΠΈΡΡ: Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΠ½ΠΎ, ΠΈΠ»ΠΈ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅). Π’ΠΈΠΌ ΠΠΈΡΠ΅ΡΡ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³ Π½Π°ΠΌ, ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π² ΡΠ²ΠΎΠΈ Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ Π²ΡΠ±ΡΠ°Π² ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ (ΠΏΠΎ Π΅Π³ΠΎ ΠΌΠ½Π΅Π½ΠΈΡ) ΡΡΠ°Π»ΠΈ Π±Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, Π΅ΡΠ»ΠΈ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ (Π±Π΅Π· ΡΠ°Π½Π°ΡΠΈΠ·ΠΌΠ°) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ. ΠΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄ ΡΠ°ΠΊΠΎΠ²: ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π½Π΅ΡΠ»ΠΈ Π±Ρ ΡΠΊΡΠΎΠΌΠ½ΠΎΠ΅, Π½ΠΎ ΡΠ²Π½ΠΎΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±ΠΈΡΠ°Ρ Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° β ΡΡΠΎ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΡΠ΅ΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΡ. ΠΠ²ΠΈΠ΄ΠΎ Π²Π°Π½ Π ΠΎΡΡΡΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ Dropbox ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, Π½Π΅ΠΆΠ΅Π»ΠΈ ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ: ΠΠ²ΠΈΠ΄ΠΎ Π½Π°ΡΠ΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΠΏΠΎΠ΄Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π·Π°ΠΌΠ΅Π΄Π»ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ), Π½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π»ΠΈΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π»ΠΈ ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ:
ΠΠΎΡ Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π³ΠΎΡΠΎΠ²Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Β«ΠΏΡΠ΅ΠΆΠ½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½ΡΒ» ΠΎΡΡΡΡΠΏΠΎΠ²:
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ pattern2, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ pattern1 ΡΠΆΠ΅ ΡΠΎΠ²ΠΏΠ°Π» (Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄-ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ). ΠΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ, Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ:
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ°
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², Π³Π΄Π΅ Π² Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (arbitrary expressions), ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ. ΠΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠΌΡ NAME := expr, Π³Π΄Π΅ expr β Π»ΡΠ±ΠΎΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Python, ΠΊΡΠΎΠΌΠ΅ ΠΊΠΎΡΡΠ΅ΠΆΠ° Π±Π΅Π· ΡΠΊΠΎΠ±ΠΎΠΊ (unparenthesized tuple), Π° NAME β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ, Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»Π΅Π²ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ:
ΠΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡ, Π³Π΄Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΄Π²ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΡΠ°Π½ΠΈΡΡ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ:
ΠΠ΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠΊΠΎΠ±ΠΊΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Ρ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½Π΅ Π²ΡΡ Π²ΡΠ³Π»ΡΠ΄ΡΡΠ΅Π΅, ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π² f-ΡΡΡΠΎΠΊΠ΅, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠ²ΡΠΌ. ΠΠ°ΡΡΠ΅Ρ f-ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» «:» Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠΈ f-ΡΡΡΠΎΠΊ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΠΊΠΎΠ±ΠΊΠΈ. ΠΠ°ΠΊ ΠΎΡΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ.
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠΉ: ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ. ΠΡΠ»ΠΈ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π° ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° nonlocal ΠΈΠ»ΠΈ global, ΡΠΎΠ³Π΄Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΡΡΡΡΡ ΡΡΠΎ. Π’ΠΎΠ»ΡΠΊΠΎ Π»ΡΠΌΠ±Π΄Π° (Π±ΡΠ΄ΡΡΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ) ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΎΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, Π²ΡΡΡΠ΅ΡΠ°ΡΡΠ΅Π΅ΡΡ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°Ρ ΡΠΏΠΈΡΠΊΠΎΠ², ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ², ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΆΠ΅ Π² ΡΠ°ΠΌΠΈΡ Β«Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°Ρ Β» (Π½ΠΈΠΆΠ΅ Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Β«Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈΒ» (comprehensions) ), ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΡΠΎΠ±Π»ΡΠ΄Π°Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ globab ΠΈΠ»ΠΈ nonglobal, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Π΄Π²ΠΎΡΠΊΠΎ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡ Β«ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°Β» Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ any () ΠΈ all(), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°Ρ ΡΠΈΠΊΠ»ΠΎΠΌ for Π΄Π»Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠ²Π»ΡΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ. ΠΡΠ»ΠΎ Π±Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΡΡΡΠ»Π°Π»ΠΈΡΡ Π΅ΡΡ ΠΈ ΠΊ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π½ΡΡΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, [i: = i + 1 for i in range(5)] Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ: ΡΠΈΠΊΠ» for ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ, ΡΡΠΎ i ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, Π½ΠΎ ΡΠ°ΡΡΡ Β«i := i+1Β» Π½Π°ΡΡΠ°ΠΈΠ²Π°Π΅Ρ Π½Π° ΡΠΎΠΌ, ΡΡΠΎ i ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠΎ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ:
Π₯ΠΎΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π², Π½ΠΎ ΡΡΡΠ΄Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΡΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ, Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ°Π»ΠΎΠ½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»ΡΡΠ°ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ SyntaxError, Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Π·Π°Π²ΠΈΡΡΡΠΈΠΌ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ:
ΠΠ»Ρ ΡΠ΅Π»Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° (ΡΠ°ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Β«forΒ») ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-ΡΠΈΠ»ΡΡΡΠ° (ΡΠ°ΡΡΡ ΠΏΠΎΡΠ»Π΅ Β«ifΒ» ΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π»ΡΠ±ΡΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Β«forΒ») ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄ΡΡ Π½ΠΎΠ²ΡΡ ΡΠ²Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. [ΠΏΡΠΈΠΌ. ΠΎΠΏΡΡΡ ΠΆΠ΅, ΠΊΡΠΎΠΌΠ΅ ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π²: [i for i in range(2, (lambda: (s:=2)() ))] ]
ΠΠ·-Π·Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π² ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π»ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π² ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅), ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ (Π² ΡΠ°ΡΡΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Β«inΒ» ΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π»ΡΠ±ΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Β«ifΒ» ΠΈΠ»ΠΈ Β«forΒ»). Π’ΠΎ Π΅ΡΡΡ Π²ΡΠ΅ ΡΡΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ:
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°, ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ SyntaxError:
(ΠΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠ²Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ β Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅Ρ runtime ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΠΎΡΠ»Π°ΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°, ΠΈ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ. ΠΡΠ»ΠΈ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π½Π°, ΡΠΎ ΡΡΠΎΡ ΠΎΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ) Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»ΡΠ½ ΠΈΠ· ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°Π½Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ· Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°.)
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ B Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°Ρ , ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΉ ΠΊΠΎΠ΄.
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ :=
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ := Π³ΡΡΠΏΠΏΠΈΡΡΠ΅ΡΡΡ ΡΠΈΠ»ΡΠ½Π΅Π΅, ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠ°Ρ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΡΡ Π³Π΄Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΡΠ»Π°Π±Π΅Π΅, ΡΠ΅ΠΌ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ or, and, not, ΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (A if C else B). ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° Β«ΠΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈΒ» Π²ΡΡΠ΅, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠΎΠΌ ΠΆΠ΅ Β«ΡΡΠΎΠ²Π½Π΅Β», ΡΡΠΎ ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ =. ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ := ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΠΎΡΠ½ΡΡΡΠΈΠ΅, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠΌ, Π° ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ:
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ Β«Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Β» ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΡΠ΄ΠΈ, Π±ΡΡΡΡΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΠΈΠ΅ Π²Π°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΌΠΎΠ³ΡΡ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ Π΅Π³ΠΎ ΡΠΌΡΡΠ». ΠΠΎ Π² ΠΏΡΠΎΡΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ:
ΠΡΠΎΡ PEP ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ Π²ΠΎΠΊΡΡΠ³ :=, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ PEP 8 Π΄Π»Ρ = Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ. (ΠΡΠ»ΠΈΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½Π° Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ Π²ΠΎΠΊΡΡΠ³ =, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ.)
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
Π§ΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ, Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΡΠ΅Π½ΠΊΠΈ Π±ΡΠ» ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠ²ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π Python ΡΠΆΠ΅ Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎ ΠΏΠΎΠ΄Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΈ Β«ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡΒ» Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌΠΈ, ΠΈ ΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ:
Π Π°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ.
Π§ΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, «:=» ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° Π·Π½Π°ΡΠΈΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ. Π Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ:
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ PEP ΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΡΡΠΊΠΎΠΌ Python 3.8:
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python
site.py
env_base ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² if, ΠΊΠ°ΠΊ Β«Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊΒ» Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.
_pydecimal.py
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ if, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ΄Π°Π»ΠΈΠ² ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΡΡΡΡΠΏΠΎΠ².
copy.py
ΠΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². (Π‘ΠΌ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ A, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°.)
datetime.py
tz ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ s += tz. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π²Π½ΡΡΡΡ if ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
sysconfig.py
Π£ΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠΏΠΈΡΠΊΠΎΠ²
Π’Π΅ΠΏΠ΅ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΏΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡΡΡ ΠΏΡΡΠ΅ΠΌ Β«Π·Π°Ρ Π²Π°ΡΠ°Β» ΡΡΠ»ΠΎΠ²ΠΈΡ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² Π΄ΡΡΠ³ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ:
ΠΡΡ ΡΠ°Π· ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ y Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΎ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ result ΠΈ stuff.
Β«ΠΠ°Ρ Π²Π°ΡΒ» Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if ΠΈΠ»ΠΈ while:
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π³Π»Π°Π΄ΠΊΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΊΠ»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΊΠ»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, Π½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ· Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΠΌΠΈΡΠ° UNIX: [ΠΏΡΠΈΠΌ. Fork() β ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π² Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΠΎΠ·Π΄Π°ΡΡΠΈΠΉ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄-ΠΏΡΠΎΡΠ΅ΡΡ, ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ.]
ΠΡΠΊΠ»ΠΎΠ½Π΅Π½Π½ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½Ρ
Π ΡΠ΅Π»ΠΎΠΌ, ΡΡ ΠΎΠΆΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π² python ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΡΠ΄ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠ² Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΈ Π±ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ²
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ PEP ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΠΈΡΡ Π²Π½Π΅ΡΡΠΈ ΡΠΎΠ½ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π»ΠΈ Π±Ρ ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π°Π½Π½ΡΠΉ PEP ΡΠΌΠΎΠ³ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ
Π ΡΠ΅Π»ΠΎΠΌ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΡΡ ΠΆΠ΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ, Π½ΠΎ ΠΏΠΈΡΡΡΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ EXPR as NAME ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΌΡΡΠ» Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ import, except ΠΈ with, ΡΡΠΎ ΠΌΠΎΠ³Π»ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ).
(ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Β«with EXPR as VARΒ» Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ EXPR Π² VAR, Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ EXPR.__enter__() ΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² VAR.)
ΠΡΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΊΠ°ΠΊ R ΠΈ Haskell, Π½Ρ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°Ρ . (ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅Π»ΠΊΠΈ ΡΠΏΡΠ°Π²Π°-Π½Π°Π»Π΅Π²ΠΎ y