ВстрСтили Π² ΠΊΠΎΠ΄Π΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ нСпонятный символ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΈ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π·Π½Π°Ρ‡Π°Ρ‚? Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² синтаксисС языка 1Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто каТСтся криптографичСским для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (=, +, И), Π½ΠΎ ΠΈ спСцифичныС для 1Π‘ конструкции Π²Ρ€ΠΎΠ΄Π΅ ? (Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€), #Если (Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции), Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π΄ΠΊΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ символы Ρ‚ΠΈΠΏΠ° ~ ΠΈΠ»ΠΈ @.

Π―Π·Ρ‹ΠΊ 1Π‘ унаслСдовал ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΎΡ‚ Basic ΠΈ Pascal, Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ "Ρ„ΠΈΡˆΠΊΠΈ", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡˆΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования. НапримСр, Новый вмСсто new, ΠΈΠ»ΠΈ Для КаТдого вмСсто foreach. А Π΅Ρ‰Ρ‘ Π² 1Π‘ Π΅ΡΡ‚ΡŒ собствСнная систСма Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² компиляции (Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…ΡΡ с #), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° Π½Π° этапС прСобразования Π² исполняСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠΎΠ΄Π΅ символы #ΠžΠ±Π»Π°ΡΡ‚ΡŒ, #ΠšΠΎΠ½Π΅Ρ†ΠžΠ±Π»Π°ΡΡ‚ΠΈ ΠΈΠ»ΠΈ #Если ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π’ΠΎΠ³Π΄Π° β€” это Π½Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π° инструкции для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹!

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ:

  • πŸ”Ή Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (=, +, -, *, / ΠΈ ΠΈΡ… "ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ" Π² 1Π‘)
  • πŸ”Ή ЛогичСскиС конструкции (И, Π˜Π›Π˜, НЕ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ?)
  • πŸ”Ή Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½Ρ‹Π΅ символы (~, @, & β€” Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈ Π³Π΄Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ)
  • πŸ”Ή Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции (ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ #Если, #ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΡ… нСльзя ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ)
  • πŸ”Ή ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова (Новый, ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ, Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ β€” Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках)

1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹: Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° ΠΈ присваиваниС

Начнём с самого простого β€” арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ присваивания. Π’ 1Π‘ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ = ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для присваивания значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… языков, Π³Π΄Π΅ = β€” это сравнСниС, Π° присваиваниС обозначаСтся ΠΊΠ°ΠΊ = ΠΈΠ»ΠΈ :=). НапримСр:

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ = 10; // ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 10

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = 5 + 3; // Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 8

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ +, -, *, / Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ стандартно, Π½ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ / всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π΄Π°ΠΆΠ΅ Ссли Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа. НапримСр, 5 / 2 Π²Π΅Ρ€Π½Ρ‘Ρ‚ 2.5, Π° Π½Π΅ 2. Если Π½ΡƒΠΆΠ½ΠΎ цСлочислСнноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π”Π΅Π»Π΅Π½ΠΈΠ΅(5, 2) ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π”Π˜Π’ (Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹).

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ % (остаток ΠΎΡ‚ дСлСния) Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков: Π² 1Π‘ % Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ остаток с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π·Π½Π°ΠΊΠ° Π΄Π΅Π»ΠΈΠΌΠΎΠ³ΠΎ, Π° Π½Π΅ дСлитСля. НапримСр, -5 % 3 Π²Π΅Ρ€Π½Ρ‘Ρ‚ -2, Π° Π½Π΅ 1, ΠΊΠ°ΠΊ Π² Python ΠΈΠ»ΠΈ JavaScript.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ старых вСрсиях 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 7.7 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ = ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ для сравнСния (ΠΊΠ°ΠΊ Π² Basic). Π’ соврСмСнных вСрсиях (8.x) для сравнСния примСняСтся = (Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Ρ€Π°Π²Π½ΠΎ), Π½ΠΎ Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с legacy-ΠΊΠΎΠ΄ΠΎΠΌ, Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны β€” Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π°!

2. ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹: И, Π˜Π›Π˜, НЕ ΠΈ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² 1Π‘ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ словами, Π° Π½Π΅ символами: И вмСсто &&, Π˜Π›Π˜ вмСсто ||, НЕ вмСсто !. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΠ²Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ программистов, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… языков.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования:

Если (УсловиС1 И УсловиС2) Π’ΠΎΠ³Π΄Π°

// Выполнится, Ссли ΠΎΠ±Π° условия истинны

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Если (НЕ УсловиС) Π’ΠΎΠ³Π΄Π°

// Выполнится, Ссли условиС Π»ΠΎΠΆΠ½ΠΎ

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Особого внимания заслуТиваСт Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ?, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Если..Π’ΠΎΠ³Π΄Π°..Π˜Π½Π°Ρ‡Π΅ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ строки. Бинтаксис:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = (УсловиС) ? Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π•ΡΠ»ΠΈΠ˜ΡΡ‚ΠΈΠ½Π° : Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π•ΡΠ»ΠΈΠ›ΠΎΠΆΡŒ;

НапримСр:

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ = (ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ > 0) ? "Π•ΡΡ‚ΡŒ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ" : "НСт Π½Π° складС";

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ УсловиС1 ? Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1 : УсловиС2 ? Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2 : Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅3 ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС компиляции.

πŸ“Š Какой ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ Π² ΠΊΠΎΠ΄Π΅ 1Π‘?
И/Π˜Π›Π˜ (логичСскиС)
= (присваиваниС)
? (Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ)
Π”Ρ€ΡƒΠ³ΠΈΠ΅

3. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ с особым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ: ~, @, & ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅

Π’ ΠΊΠΎΠ΄Π΅ 1Π‘ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ самыС Π²Π°ΠΆΠ½Ρ‹Π΅:

  • πŸ”Έ ~ β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ привСдСния Ρ‚ΠΈΠΏΠ°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для явного прСобразования значСния ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. НапримСр, ~Число("123") ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку Π² число. Если ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка.
  • πŸ”Έ @ β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ модуля (Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… модуля). НапримСр, @ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°ΡΠœΠΎΠ΄ΡƒΠ»Ρ = 10;. Π‘Π΅Π· @ пСрСмСнная Π±ΡƒΠ΄Π΅Ρ‚ локальной для ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.
  • πŸ”Έ & β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк (Π°Π½Π°Π»ΠΎΠ³ + Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках). НапримСр, "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, " & Имя. Π’ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях 1Π‘ Ρ‚Π°ΠΊΠΆΠ΅ поддСрТиваСтся + для строк, Π½ΠΎ & остаётся Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΌ (Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ нСявных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ²).
  • πŸ”Έ . ΠΈ -> β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ доступа ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². . ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для статичСских свойств, Π° -> β€” для динамичСских (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ).

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ~ часто Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ. НапримСр, ~Π”Π°Ρ‚Π°("20230101") ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку Π² Π΄Π°Ρ‚Ρƒ, Π½ΠΎ Ссли строка ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ привСдСния Ρ‚ΠΈΠΏΠ°:

ДатаНачала = НачалоДня(Π”Π°Ρ‚Π°(2023, 1, 1)); // БСзопаснСС, Ρ‡Π΅ΠΌ ~Π”Π°Ρ‚Π°("20230101")
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π‘ΠΈΠΌΠ²ΠΎΠ» @ Π² старых вСрсиях 1Π‘ 7.7 ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для обозначСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² макросов. Π’ 1Π‘ 8.x Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ измСнилось β€” Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это всСгда пСрСмСнная модуля. Если Π²Ρ‹ пСрСноситС ΠΊΠΎΠ΄ ΠΈΠ· 7.7 Π² 8.x, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ всС вхоТдСния @!
πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ & вмСсто + для ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ нСявных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ². НапримСр, "1" & 2 Π²Π΅Ρ€Π½Ρ‘Ρ‚ строку "12", Π° "1" + 2 ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

4. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции: #Если, #ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции β€” это инструкции для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Они всСгда Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с символа # ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° этапС компиляции (Π΄ΠΎ выполнСния ΠΊΠΎΠ΄Π°).

Π‘Π°ΠΌΡ‹Π΅ распространённыС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹:

  • πŸ“Œ #Если / #Π˜Π½Π°Ρ‡Π΅ / #ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ β€” условная компиляция. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° Π² зависимости ΠΎΡ‚ условий (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, #Если ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π’ΠΎΠ³Π΄Π°).
  • πŸ“Œ #ΠžΠ±Π»Π°ΡΡ‚ΡŒ / #ΠšΠΎΠ½Π΅Ρ†ΠžΠ±Π»Π°ΡΡ‚ΠΈ β€” Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄Π° Π² "области" для удобства чтСния. НС влияСт Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ.
  • πŸ“Œ #Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ β€” ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, #Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ "ΠžΠ±Ρ‰ΠΈΠ΅ΠœΠΎΠ΄ΡƒΠ»ΠΈ.Π Π°Π±ΠΎΡ‚Π°Π‘Π€Π°ΠΉΠ»Π°ΠΌΠΈ").

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования #Если:

#Если ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ выполнится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅!");

#Π˜Π½Π°Ρ‡Π΅Π•ΡΠ»ΠΈ Π‘Π΅Ρ€Π²Π΅Ρ€ Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ выполнится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС!");

#ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для:

  • πŸ”Ή РаздСлСния ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром (Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок выполнСния Π½Π΅ Π² Ρ‚ΠΎΠΌ контСкстС).
  • πŸ”Ή ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, #Если Π’Π΅Ρ€ΡΠΈΡΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ >= "8.3.10" Π’ΠΎΠ³Π΄Π°).
  • πŸ”Ή Условного ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° НазначСниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€
#Если Условная компиляция #Если ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π’ΠΎΠ³Π΄Π°.. #ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ
#ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄Π° #ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈΠ‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠΉ.. #ΠšΠΎΠ½Π΅Ρ†ΠžΠ±Π»Π°ΡΡ‚ΠΈ
#Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ #Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ "ΠžΠ±Ρ‰ΠΈΠ΅ΠœΠΎΠ΄ΡƒΠ»ΠΈ.ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ"
#ΠŸΠ΅Ρ€Π΅ΠΌ ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… модуля #ΠŸΠ΅Ρ€Π΅ΠΌ Π³Π»ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ;
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π½Π° этапС синтаксичСского контроля Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅. Если Π²Ρ‹ ΠΎΡˆΠΈΠ±Ρ‘Ρ‚Π΅ΡΡŒ Π² написании Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ #Π•ΡΠ»ΠΈΠšΠ»ΠΈΠ΅Π½Ρ‚ вмСсто #Если ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π’ΠΎΠ³Π΄Π°), ΠΊΠΎΠ΄ скомпилируСтся, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. ВсСгда провСряйтС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ!

5. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова: Новый, ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ, Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅

Π’ 1Π‘ Π΅ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ самыС Π²Π°ΠΆΠ½Ρ‹Π΅:

  • πŸ”‘ Новый β€” создаёт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π°Π½Π°Π»ΠΎΠ³ new Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках). НапримСр, Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°() ΠΈΠ»ΠΈ Новый Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ.
  • πŸ”‘ ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ β€” ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ (Π°Π½Π°Π»ΠΎΠ³ continue).
  • πŸ”‘ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ β€” исполняСт строку ΠΊΠ°ΠΊ ΠΊΠΎΠ΄. Опасная, Π½ΠΎ мощная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. НапримСр, Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ("Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(""ΠŸΡ€ΠΈΠ²Π΅Ρ‚!"")").
  • πŸ”‘ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° / Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок (Π°Π½Π°Π»ΠΎΠ³ try/catch).
  • πŸ”‘ Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π°Π½Π°Π»ΠΎΠ³ return).

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особой остороТности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ динамичСски сформированный ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ возмоТности для ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ ΠΈ ошибок. НапримСр:

ΠšΠΎΠ΄Π”Π»ΡΠ’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ = "Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(""ЗдравствуйтС, " & Π˜ΠΌΡΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ & ""!"")";

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(ΠšΠΎΠ΄Π”Π»ΡΠ’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ);

Если пСрСмСнная Π˜ΠΌΡΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ содСрТит врСдоносный ΠΊΠΎΠ΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "); Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ’ΡΠ΅Π”Π°Π½Π½Ρ‹Π΅(); //"), это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌ послСдствиям. ВсСгда экранируйтС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Π² Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ!

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Новый ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½ΠΎ ΠΈ для Π²Ρ‹Π·ΠΎΠ²Π° конструкторов с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. НапримСр:

Новый БоотвСтствиС(ΠšΠ»ΡŽΡ‡ΠΈ, ЗначСния); // Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ "БоотвСтствиС" с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ значСниями
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ "Новый" ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°?

Если Π·Π°Π±Ρ‹Ρ‚ΡŒ слово Новый, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° попытаСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ свойству. НапримСр, Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°() Π±Π΅Π· Новый Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° β€” это Ρ‚ΠΈΠΏ, Π° Π½Π΅ функция. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π’ΠΈΠΏΠ—Π½Ρ‡(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π΅Π· Новый.

6. Π Π΅Π΄ΠΊΠΈΠ΅ ΠΈ малоизвСстныС конструкции

Π’ 1Π‘ Π΅ΡΡ‚ΡŒ конструкции, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽΡ‚. Они Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях.

  • πŸ›  Для По β€” Ρ†ΠΈΠΊΠ» с шагом. НапримСр, Для Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 1 По 10 Π¦ΠΈΠΊΠ».. ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°. МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ шаг: Для Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 10 По 1 Π¨Π°Π³ -1 Π¦ΠΈΠΊΠ» (ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ отсчёт).
  • πŸ›  ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° (Π°Π½Π°Π»ΠΎΠ³ goto). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎ ΠΈ считаСтся ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ².
  • πŸ›  БоотвСтствиС ΠΈ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° β€” ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°Ρ€Π°ΠΌΠΈ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅". БоотвСтствиС позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π° Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки.
  • πŸ›  АдрСсΠ₯ранСния β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, АдрСсΠ₯ранСния(Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура)). ПолСзно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с динамичСскими ссылками.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ…, Π½ΠΎ Π΅Π³ΠΎ использованиС Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ услоТняСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠœΠ΅Ρ‚ΠΊΠ°Π’Ρ‹Ρ…ΠΎΠ΄Π°; // ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΌΠ΅Ρ‚ΠΊΠ΅

.. // ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄

ΠœΠ΅Ρ‚ΠΊΠ°Π’Ρ‹Ρ…ΠΎΠ΄Π°:

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Для По с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ шагом часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ элСмСнтов ΠΈΠ· массива ΠΈΠ»ΠΈ списка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

Для ИндСкс = Бписок.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() По 1 Π¨Π°Π³ -1 Π¦ΠΈΠΊΠ»

Если Бписок[ИндСкс].ΠŸΠΎΠΌΠ΅Ρ‡Π΅Π½ΠΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π’ΠΎΠ³Π΄Π°

Бписок.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(ИндСкс);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π­Ρ‚ΠΎ бСзопаснСС, Ρ‡Π΅ΠΌ прямой ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ элСмСнтов Π² прямом Ρ†ΠΈΠΊΠ»Π΅ индСксы ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ»ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

πŸ’‘

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ β€” это "Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄" ΠΈΠ· слоТных Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… конструкций. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вынос ΠΊΠΎΠ΄Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ) Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹.

7. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: Ρ€Π°Π·Π±ΠΎΡ€ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ· 1Π‘ ΠΈ объясним, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ каТдая Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ:

#Если ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π’ΠΎΠ³Π΄Π°

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΡ€ΠΈΠΠ°Ρ‡Π°Π»Π΅Π Π°Π±ΠΎΡ‚Ρ‹Π‘ΠΈΡΡ‚Π΅ΠΌΡ‹()

#ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ

ΠŸΠ΅Ρ€Π΅ΠΌ глНастройки; // ОбъявляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ модуля

Если НЕ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(глНастройки) Π’ΠΎΠ³Π΄Π°

глНастройки = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°();

глНастройки.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Π’Π΅ΠΌΠ°ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡ", "БвСтлая");

глНастройки.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Π―Π·Ρ‹ΠΊΠ˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ°", "Русский");

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

#ΠšΠΎΠ½Π΅Ρ†ΠžΠ±Π»Π°ΡΡ‚ΠΈ

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

#ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ

Π Π°Π·Π±ΠΎΡ€ ΠΏΠΎ строкам:

  1. #Если ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π’ΠΎΠ³Π΄Π° β€” Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° компиляции, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Ρ, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° клиСнтской сторонС.
  2. &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ β€” аннотация, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΡ€ΠΈΠΠ°Ρ‡Π°Π»Π΅Π Π°Π±ΠΎΡ‚Ρ‹Π‘ΠΈΡΡ‚Π΅ΠΌΡ‹ выполняСтся Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.
  3. ΠŸΠ΅Ρ€Π΅ΠΌ глНастройки; β€” объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ модуля (доступной Π²ΠΎ всСх ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… этого модуля). Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ #ΠŸΠ΅Ρ€Π΅ΠΌ глНастройки;.
  4. Если НЕ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(глНастройки) Π’ΠΎΠ³Π΄Π° β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Π»ΠΈ пСрСмСнная. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π›ΠΎΠΆΡŒ для НСопрСдСлСно.
  5. глНастройки = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°(); β€” созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° (ассоциативный массив).
  6. глНастройки.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Π’Π΅ΠΌΠ°ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡ", "БвСтлая"); β€” Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" Π² структуру.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ настройки прилоТСния ΠΏΡ€ΠΈ стартС систСмы, Ссли ΠΎΠ½ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° сочСтаниС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² компиляции (#Если), Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ (&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅) ΠΈ стандартных конструкций языка.

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции (#Если, #ΠžΠ±Π»Π°ΡΡ‚ΡŒ) ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹|ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ модуля ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ с @ ΠΈΠ»ΠΈ ΠŸΠ΅Ρ€Π΅ΠΌ|Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ (? :) Π½Π΅ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹|ΠŸΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ динамичСский ΠΊΠΎΠ΄ Π² Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ() бСзопасСн-->

FAQ: ЧастыС вопросы ΠΎ ΠΊΠΎΠ΄Π΅ 1Π‘

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ символ ~ Π² ΠΊΠΎΠ΄Π΅ 1Π‘?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ~ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для привСдСния Ρ‚ΠΈΠΏΠ°. НапримСр, ~Число("123") ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку Π² число. Если ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка. Π’ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ вмСсто ~ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ привСдСния Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Число(), Π”Π°Ρ‚Π°()), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅ бСзопасны ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Ρ‚Ρ‹).

Π’ Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ & ΠΈ + для ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ & ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк ΠΈ Π½Π΅ выполняСт нСявных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ². ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях 1Π‘ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ вСсти сСбя нСпрСдсказуСмо, Ссли ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строка + число). НапримСр:

"Π‘ΡƒΠΌΠΌΠ°: " & 100 // Π’Π΅Ρ€Π½Ρ‘Ρ‚ "Π‘ΡƒΠΌΠΌΠ°: 100" (строка)

"Π‘ΡƒΠΌΠΌΠ°: " + 100 // ΠœΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

РСкомСндуСтся всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ & для склСивания строк.

Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ #Если ΠΈ #ΠžΠ±Π»Π°ΡΡ‚ΡŒ?

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ #Если ΠΈ #ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° этапС компиляции ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ:

  • #Если β€” позволяСт Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° Π² зависимости ΠΎΡ‚ условий (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, #Если ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π’ΠΎΠ³Π΄Π° ΠΈΠ»ΠΈ #Если Π’Π΅Ρ€ΡΠΈΡΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ >= "8.3.15" Π’ΠΎΠ³Π΄Π°).
  • #ΠžΠ±Π»Π°ΡΡ‚ΡŒ β€” Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Π² логичСскиС Π±Π»ΠΎΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, #ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈΠ‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠΉ). НС влияСт Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ.

Π’Π°ΠΆΠ½ΠΎ: Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π½Π° этапС синтаксичСского контроля. Ошибки Π² Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΌΡƒ повСдСнию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ? Π² 1Π‘?

Π’Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ? β€” это сокращённая запись конструкции Если..Π’ΠΎΠ³Π΄Π°..Π˜Π½Π°Ρ‡Π΅. Бинтаксис:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = (УсловиС) ? Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π•ΡΠ»ΠΈΠ˜ΡΡ‚ΠΈΠ½Π° : Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π•ΡΠ»ΠΈΠ›ΠΎΠΆΡŒ;

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Бтатус = (ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ > 0) ? "Π’ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ" : "НСт Π½Π° складС";

Π’Π°ΠΆΠ½Ρ‹Π΅ ограничСния:

  • Π’Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ условия (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ C# ΠΈΠ»ΠΈ JavaScript).
  • ОбС Π²Π΅Ρ‚ΠΊΠΈ (Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π•ΡΠ»ΠΈΠ˜ΡΡ‚ΠΈΠ½Π° ΠΈ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π•ΡΠ»ΠΈΠ›ΠΎΠΆΡŒ) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ значСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (ΠΈΠ»ΠΈ совмСстимых Ρ‚ΠΈΠΏΠΎΠ²).
Как бСзопасно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ()?

Ѐункция Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ() исполняСт строку ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ 1Π‘. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Π½ΠΎ опасный инструмСнт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠŸΡ€Π°Π²ΠΈΠ»Π° бСзопасного использования:

  • πŸ”’ Никогда Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π² Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ() Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· Ρ„ΠΎΡ€ΠΌ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²), Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.
  • πŸ”’ Π­ΠΊΡ€Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, замСняйтС ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π½Π° сущности).
  • πŸ”’ По возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠ’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅() для вычислСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ опасности:

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉΠ’Π²ΠΎΠ΄ = "); Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ’ΡΠ΅Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹(); //";

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ("Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(""Π’Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: " & ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉΠ’Π²ΠΎΠ΄ & """)");

// Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ врСдоносного ΠΊΠΎΠ΄Π°!