Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования Euphoria. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΎΠ΅ руководство». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 9

Автор W Cat

Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒΡΡ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ присваивания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ… случаСв, ΠΊΠΎΠ³Π΄Π° компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π½Π΅Ρ‚ нСобходимости, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ, Ссли функция Ρ‚ΠΈΠΏΠ° Π²Ρ‹Π΄Π°Ρ‘Ρ‚ лоТь. Π’ΠΈΠΏΡ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΡƒΡŽ ΠΊ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ вычислСния, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π½Π°Π΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ΠΈΠΏ слуТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ отсутствия ошибки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ "ΠΏΠΎΡ€Ρ‡Ρƒ" ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ опрСдСляСтС Π² своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π² вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ логичСскиС ошибки. Но ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ошибок Π² Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ with type_check (с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ‚ΠΈΠΏΠ°) ΠΈΠ»ΠΈ without type_check (Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ°). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΡ€ΠΈ стартС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Бравнивая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Euphoria со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Euphoria Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ without type_check. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π°Ρ‘Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ Euphoria Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π²ΠΎ врСмя исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈ этом Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, Ρ‚.Π΅. ΠΏΠΎ индСксам, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚.ΠΏ. Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π²Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Euphoria оставляСт Π·Π° собой ΠΏΡ€Π°Π²ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π² стратСгичСски Π²Π°ΠΆΠ½Ρ‹Ρ… мСстах, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π½Π° Π΄Π΅Π»Π΅ позволяСт вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ быстрСС Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Π· ΠΏΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚ΠΈΠΏΠ°, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ машинного уровня. Π£ вас всСгда Π±ΡƒΠ΄Π΅Ρ‚ внятноС сообщСниС ΠΎΡ‚ Euphoria, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ. (ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈ здСсь ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ€Π²Π°Ρ‚ΡŒΡΡ Π½Π° машинноС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ poke (Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ нСпосрСдствСнно Π² памяти), ΠΈΠ»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° C ΠΈΠ»ΠΈ Π² машинном ΠΊΠΎΠ΄Π΅. Но это ΡƒΠΆΠ΅ совсСм другая история - Π² этих случаях Euphoria просто ΡƒΠ²Π°ΠΆΠ°Π΅Ρ‚ вашС Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ ΠΏΡ€Π°Π²ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ вашСй машинС Π»ΡŽΠ±Ρ‹Π΅ ваши ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.) ΠœΠ΅Ρ‚ΠΎΠ΄ опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² Π² Euphoria ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, хотя Euphoria обСспСчиваСт программиста Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большСй Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ Π² описании Π·Π°ΠΊΠΎΠ½Π½Ρ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ для Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ Π² допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ»ΠΈ ΠΈΡ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· Π½Π΅Π³ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΈΠΏΠ° object, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ любого значСния. ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‡Π΅Π½ΡŒ спСцифичСскими ΠΈΠ»ΠΈ с ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Но Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π·Π°Π±ΠΎΡ‚Π° ΠΎ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ приносит Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… прСимущСств, ΠΈ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΏΠΎΠ»Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ‚ΠΈΠΏΠΎΠ² Euphoria Π΄Π°Ρ‘Ρ‚ Π²Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ свободный Π²Ρ‹Π±ΠΎΡ€. А с Ρ‚ΠΈΠΏΠΎΠΌ object Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Ρ‘Ρ….

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π‘ΠΎ строго ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… логичСскиС ошибки ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²Π±Π»ΠΈΠ·ΠΈ мСста ΠΈΡ… зароТдСния ΠΈ ΠΈΡ… распространСниС ΠΏΠΎ скрытным путям Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСсСкаСтся. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, всСгда ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ… Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ повСдСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ нСбольшого участка ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ гарантия, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ здСсь ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ всСгда ΠΈΠΌΠ΅Π»ΠΈ Π·Π°ΠΊΠΎΠ½Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, Π° Π²ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ отсутствуСт.

Π’ΠΈΠΏΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡΠΌΡ‹ΡΠ»Π΅Π½Π½ΡƒΡŽ, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΡƒΡŽ Π½Π° машинС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΎ вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, дСлая Π±ΠΎΠ»Π΅Π΅ простым ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ вашСго ΠΊΠΎΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, Π΄Π° ΠΈ Π²Π°ΠΌΠΈ Ρ‚ΠΎΠΆΠ΅, ΠΏΠΎ ΠΏΡ€ΠΎΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ индСксов, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всСгда Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚, с ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½ΠΎΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π² Euphoria Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ простой, Ρ‡Π΅ΠΌ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков. ΠŸΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ скрытыС ошибки, ΠΏΡ€ΠΎΡΠΊΠ°ΠΊΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ„Π°Π·Ρƒ тСстирования Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, здСсь практичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

АнСкдот 1: ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΡ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ C Π½Π° Euphoria, ΠΌΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ ряд ΡΠΊΡ€Ρ‹Π²Π°Π²ΡˆΠΈΡ…ΡΡ Ρ€Π°Π½Π΅Π΅ ошибок. Π₯отя данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° C ΠΈ заслуТила большоС Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ ΠΊΠ°ΠΊ якобы Ρ‚ΠΎΡ‚Π°Π»ΡŒΠ½ΠΎ "коррСктная", ΠΌΡ‹ нашли: ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π³Π΄Π΅ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»Π°ΡΡŒ нСинициализированная пСрСмСнная; мСсто, Π³Π΄Π΅ элСмСнт Π½ΠΎΠΌΠ΅Ρ€ "-1" ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· массивов бСспрСпятствСнно записывался ΠΈ считывался; ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π³Π΄Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΌΠΈΠΌΠΎ экрана. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²Π΅Π»ΠΈ ΠΊ ошибкам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π½Π΅ слишком Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ для Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ, ΠΈ ΠΊΠΎΠ΄ C ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΡˆΡ‘Π» тСстированиС. АнСкдот 2: Алгоритм Quick Sort, прСдставлСнный Π½Π° страницС 117 "Написания эффСктивных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ" Π”ΠΆΠΎΠ½Π° Π‘Π΅Π½Ρ‚Π»ΠΈ, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ индСксирования! Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ элСмСнт ΠΈΠ· памяти нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ сортируСмого массива, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ· памяти элСмСнт нСпосрСдствСнно послС ΠΊΠΎΠ½Ρ†Π° массива. Π₯отя ΠΈ читаСтся ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ мусор, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΉΡΡ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ всё Π΅Ρ‰Ρ‘ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ - вСроятно, поэтому ошибка Π½ΠΈΠΊΠΎΠ³Π΄Π° ΠΈ Π½Π΅ Π±Ρ‹Π»Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π°. Но Ρ‡Ρ‚ΠΎ, Ссли Π±Ρ‹ ΠΏΠΎ Ρ‚Π΅ΠΌ адрСсам Π²Π½Π΅ массива Π½Π΅ Π±Ρ‹Π»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ) памяти? Π‘Π΅Π½Ρ‚Π»ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π» Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ эта ошибка ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ -- Π½ΠΎ ΠΎΠ½ прСдставлял ΠΈ Ρ€Π°Π½Π½ΡŽΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ. Π”Π°ΠΆΠ΅ экспСртам Π½ΡƒΠΆΠ½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ индСксирования! ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Когда программист ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСт свои собствСнныС Ρ‚ΠΈΠΏΡ‹, ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ добавляСт ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ всСго 20..40 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ². ΠžΡΡ‚Π°Π²Π»ΡΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ, Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ экстра-ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Ρ‘ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… особСнно сильно Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… вычислСниями ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² принятии ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.


2.5 ΠšΠΎΠΌΠ°Π½Π΄Ρ‹

Π’ Euphoria прСдусмотрСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ исполняСмых ΠΊΠΎΠΌΠ°Π½Π΄:

* ΠΊΠΎΠΌΠ°Π½Π΄Π° присваивания

* Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

* команда if (Ссли)

* ΠΊΠΎΠΌΠ°Π½Π΄Π° while (ΠΏΠΎΠΊΠ°)

* ΠΊΠΎΠΌΠ°Π½Π΄Π° for (для, ΠΎΡ‚)

* ΠΊΠΎΠΌΠ°Π½Π΄Π° return (Π²Ρ‹Π΄Π°Ρ‚ΡŒ, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ)

* ΠΊΠΎΠΌΠ°Π½Π΄Π° exit (Π²Ρ‹ΠΉΡ‚ΠΈ)

Π’ Euphoria Π½Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа для отдСлСния ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π·Π°ΠΊΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС ΠΊΠΎΠ΄Π°, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ строкам Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Но Π²Ρ‹ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²Π° Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° части ΠΈΠΌΠ΅Π½Π°, строки, числа ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова.


2.5.1 ΠΊΠΎΠΌΠ°Π½Π΄Π° присваивания

Π’ Euphoria ΠΊΠΎΠΌΠ°Π½Π΄Π° присваивания слуТит для придания Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ вычислСнии выраТСния, простой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ элСмСнту ряда, ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€Π΅Π·ΠΊΡƒ ряда, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ,


x = a + b


y[i] = y[i] + 1


y[i..j] = {1, 2, 3}


По этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ прСдыдущая Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ элСмСнта(ΠΎΠ²) ряда, ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° ряда аннулируСтся, Π° новая вступаСт Π² дСйствиС. НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ x Π±Ρ‹Π» 1000-элСмСнтным рядом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


object x


x = repeat(0, 1000) -- ряд, состоящий ΠΈΠ· 1000 Π½ΡƒΠ»Π΅ΠΉ


Π° Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ присвоили x Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚ΠΎΠΌΠ°:


x = 7


Π’Π°ΠΊΠΎΠ΅ дСйствиС ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΠΎΠ½Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ объявили x ΠΊΠ°ΠΊ object. ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°Ρ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° x, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, 1000-элСмСнтный ряд, просто исчСзнСт. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ пространство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π» Π² памяти 1000-элСмСнтный ряд, Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ Π² Ρ€Π΅Π·Π΅Ρ€Π² вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, благодаря динамичСскому Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ памяти, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ Π² Euphoria.

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ символ равСнства '=' ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ для записи ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ равСнства Π² выраТСниях. Но здСсь Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ присваиваниС Π² Euphoria являСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использовано Π² составС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (ΠΊΠ°ΠΊ это Π±Ρ‹Π²Π°Π΅Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках).


Euphoria ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ присваивания.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ красивСС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ символ присваивания с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²:

+ - / * &

НапримСр, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ:


mylongvarname = mylongvarname + 1


Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:


mylongvarname += 1


вмСсто записи:


galaxy[q_row][q_col][q_size] = galaxy[q_row][q_col][q_size] * 10


Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ: