c++ — ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ if
ΠΡΠ»ΠΈ Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ
if (function() == 0) {...}
ΠΎΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π²Π½Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΡΡΠΎ Π½Π΅ Π²Π»Π΅ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ²?
Π§Π΅ΠΌ ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π²ΡΠ·ΠΎΠ²Π° Π²Π½Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡ?
1
ΠΠ΅Ρ, ΡΡΠΎ Π½ΠΈ Π½Π° ΡΡΠΎ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ. ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ Π½Π΅Ρ.
Π ΡΠΎΡΠ΅Π΄Π½Π΅ΠΌ ΠΎΡΠ²Π΅ΡΠ΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ ΠΏΡΠΎ short-circuiting — ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² && ΠΈ || Π½Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡ Π²ΡΠΎΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ (ΠΈ Π½Π΅ Π²ΡΠ·ΡΠ²Π°ΡΡ Π² Π½Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ), ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π²Π΅Π·Π΄Π΅ — ΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ if-ΠΎΠ², ΠΈ ΡΠ½Π°ΡΡΠΆΠΈ.
13
ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΡΠΎ ΠΎΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π²Π½Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡ.
ΠΡΡ ΡΠΎΠ½ΠΊΠΎΡΡΡ Π² «Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ» — Π² ΡΠ»ΠΎΠΆΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ &&
||, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π²ΡΡΠΈΡΠ»ΠΎΠ΅Π½ΠΈΠ΅, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡΡ.
Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ — ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²ΡΡΠΈΡΠ»ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΡΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ Π½Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² A && B, Π΅ΡΠ»ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ A Π΄Π°Π΅Ρ false, ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ Π½ΠΈ Π±ΡΠ»ΠΎ B — ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ false. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ B Π½Π΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ.Π’Π°ΠΊ ΡΡΠΎ Π²
if (i == 0 && function() == 0)
ΠΏΡΠΈ i, Π½Π΅ ΡΠ°Π²Π½ΠΎΠΌ 0, function() Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
2
Π’Π°ΠΊΠΆΠ΅ ΡΠΊΠ°ΠΆΡ, ΡΡΠΎ Π² Π‘++ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ — ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ decltype:
#include <iostream>
int func()
{
std::cout << "Hello from func!" << std::endl;
return 123;
}
int main()
{
decltype(func()) var;
return 0;
}
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΅Π³ΠΎ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Google
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Facebook
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΡΡ
ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π±Π΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
ΠΠΎΡΡΠ°
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°, Π½ΠΎ Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ
ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π±Π΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°, Π½ΠΎ Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ
ΠΠ°ΠΆΠΈΠΌΠ°Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠ²Π΅ΡΒ», Π²Ρ ΡΠΎΠ³Π»Π°ΡΠ°Π΅ΡΠ΅ΡΡ Ρ Π½Π°ΡΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ ΠΎ ΠΊΡΠΊΠΈ
Π’ΠΈΠΏΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ / Π₯Π°Π±Ρ
ΠΡΠΎ ΡΡΠ΅ΡΡΡ ΡΡΠ°ΡΡΡ Π² ΡΠΈΠΊΠ»Π΅ Β«Π’Π΅ΠΎΡΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²Β».
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ³ΡΠ°Π΅Ρ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠ°ΠΊ ΡΡΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΏΡ, ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ.
ΠΠΎΠΌΡ Π½ΡΠΆΠ½Ρ ΡΠΈΠΏΡ?
Π ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΈΠ΅ ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ² ΡΠ»Π°Π±ΠΎΠΉ. ΠΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ±ΠΎΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΠΎΠ±Π΅Π·ΡΡΠ½ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΠΌΠΈ, ΡΠ°Π΄ΠΎΡΡΠ½ΠΎ ΠΆΠΌΡΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΈΡΡΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, Π»ΡΠ±Π°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π±Π°ΠΉΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΎΠ±Π΅Π·ΡΡΠ½Π°ΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΡΠ° ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π°. ΠΠΎ Π² Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
, Π²ΡΡΠΎΠΊΠΎ ΡΠ΅Π½ΠΈΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ³Π½ΡΡΡ, Π° ΠΎΠ±Π΅Π·ΡΡΠ½Ρ ΠΎΡΡΠ°Π½ΡΡΡΡ Π±Π΅Π· Π±Π°Π½Π°Π½ΠΎΠ², Π·Π°ΡΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π½ΡΠΎΠ² Π±ΡΡΡ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΌΠΈ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π±Π°ΡΡΠ΅Ρ ΠΏΡΠΎΡΠΈΠ² Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠΈΠΏΠΎΠ² Π±ΡΠ΄ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π² ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΡ
ΡΠ·ΡΠΊΠ°Ρ
Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΡΠΎ ΠΎΡΡΠ΅ΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Ρ Π½ΠΈΡ
Π΅ΡΡΡ ΡΠ°Π½Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ.
ΠΡΠ°ΠΊ, Π²ΠΎΠΏΡΠΎΡ Π² ΡΠΎΠΌ, Ρ
ΠΎΡΠΈΠΌ Π»ΠΈ ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅Π·ΡΡΠ½Ρ Π±ΡΠ»ΠΈ ΡΡΠ°ΡΡΠ»ΠΈΠ²Ρ, ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ?
(ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π½Π΅ ΡΡΠΎΠΈΡ ΠΎΡΠΊΠΎΡΠ±Π»ΡΡΡΡΡ, Π°Π²ΡΠΎΡ ΠΏΡΠΎΡΡΠΎ Π»ΡΠ±ΠΈΡ ΠΌΠ΅Π½Π΅Π΅ ΡΠΊΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠ°ΡΠΎΡΡ, ΡΠ΅ΠΌ ΠΠ‘Π§ ΠΈ Β«ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π°ΠΉΡΒ», Π° Π½Π΅ Π½Π°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΎΠ±Π΅Π·ΡΡΠ½Π°ΠΌΠΈ).
ΠΠ±ΡΡΠ½ΠΎ ΡΠ΅Π»Ρ ΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡΠΈΠΌΠΈ ΠΎΠ±Π΅Π·ΡΡΠ½Π°ΠΌΠΈ β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΠ°Π½ΠΈΡ ΡΠΎΡΠΈΠ½Π΅Π½ΠΈΠΉ Π¨Π΅ΠΊΡΠΏΠΈΡΠ° (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΠΈΠ»ΠΈ ΠΠΎΠΉΠ½Π° ΠΈ ΠΠΈΡ Π’ΠΎΠ»ΡΡΠΎΠ³ΠΎ). ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΡΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ Π² ΡΠΈΠΊΠ»Π΅ ΡΠ΅Π·ΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡ ΡΠ°Π½ΡΡ Π½Π° ΡΡΠΏΠ΅Ρ . ΠΠ½Π°Π»ΠΎΠ³ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠΉΠ΄Π΅Ρ Π΅ΡΠ΅ Π΄Π°Π»ΡΡΠ΅: ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π ΠΎΠΌΠ΅ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² ΡΠ±Π΅Π΄ΠΈΡΡΡ, ΡΡΠΎ Π½Π° Π½Π΅ΠΌ Π½Π΅ ΡΠ°ΡΡΡΡ Π»ΠΈΡΡΡΡ ΠΈ ΡΡΠΎ ΠΎΠ½ Π½Π΅ Π»ΠΎΠ²ΠΈΡ ΡΠΎΡΠΎΠ½Ρ ΡΠ²ΠΎΠΈΠΌ ΠΌΠΎΡΠ½ΡΠΌ Π³ΡΠ°Π²ΠΈΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ.
Π’ΠΈΠΏΡ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΡΠ΅ΠΌΠΎΡΡΠΈ
Π’Π΅ΠΎΡΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΠΈΠ·ΡΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΡΡΠ΅Π»ΠΎΠΊ. ΠΠ΅ Π»ΡΠ±ΡΠ΅ Π΄Π²Π΅ ΡΡΡΠ΅Π»ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Π½Ρ: ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π΄ΡΡΠ³ΡΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ Π²ΡΠΎΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ. ΠΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡΡ Π΄ΡΡΠ³ ΠΊ Π΄ΡΡΠ³Ρ, ΡΡΠΎΠ±Ρ ΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»Π°. Π§Π΅ΠΌ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΈΠΏΠΎΠ² ΡΠ·ΡΠΊΠ°, ΡΠ΅ΠΌ Π»ΡΡΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ»ΡΡΡ ΠΏΡΠΎΡΠΈΠ² ΡΡΡΠΎΠ³ΠΎΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ: ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ³Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΠ½Ρ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΡ ΡΡΠ°ΡΠ° Π·Π°ΠΌΠ΅ΡΡ, ΡΡΠΎ ΡΡΡ Π°Π²ΡΠΎΡ Π½Π΅ ΡΡΠ΅Π», ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠ³Π»Π°ΡΠ΅Π½, ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Π΅ΠΉ, ΠΈ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡΠΈΡΡΠΎΠΌ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
duck-typing ΡΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²ΠΎ Π½Π° ΠΆΠΈΠ·Π½Ρ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, duck-typing Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ Π² ΡΡΡΠΎΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΠ΅Π· templates, traits, type classes, interfaces, ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΡΠ° Π½Π΅Π»ΡΠ·Ρ ΡΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠ³ΠΎ Π½Π΅Π²Π΅ΡΠ½ΡΠΌ.) ΠΈ, Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·ΡΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΡΠ½ΡΠΉ Ρ
ΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΡΡΠ³ΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°ΡΡΠΎ ΡΠ»ΡΡΡ, Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΡΠΎΠ³Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. Π― ΠΌΠΎΠ³Ρ ΡΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΌ Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π² Π‘++, ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΡ Π΅ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, Π²ΡΠ²ΠΎΠ΄ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π²ΡΠ²Π΅ΡΡΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ² ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. Π Π‘++, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ auto, ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΈΠΏ Π·Π° Π²Π°Ρ.
Π Haskell, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π΄ΠΊΠΈΡ
ΡΠ»ΡΡΠ°Π΅Π², Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠ° ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΈΠΏΡ ΠΌΠΎΠ³ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ±ΡΡΠ½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π² Haskell β Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΠΏΠΎΠ².
Π‘ΡΡΠΎΠ³Π°Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠ³Π° Π΄Π»Ρ Π½Π΅ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ½ΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ»ΡΡΠ°ΡΡ, ΠΊΠ°ΠΊ Haskell-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π³ΠΎΠ²ΠΎΡΡΡ: Β«ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ, ΠΎΠ½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ.Β» ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠ΅ΠΊΡΠ½Π° Π² ΡΠΌΡΡΠ»Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π² ΡΡΠ΄Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Haskell Π½Π΅ ΡΡΠ°Π» ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ. ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΈΠ½ΠΈΡΡ Π±Π°Π³ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ»Π°Π±ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΡΡΠΈΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅ΠΌ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΎΡΡΡΠ°Π΅Ρ ΠΎΡ Π³ΡΠ°ΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ΅Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ, ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠΎΠ³ΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° Π² ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ : ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ±ΠΎΡΠΊΠΈ. Π ΡΠ»Π°Π±ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ.
ΠΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΉΠΌΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΉ, Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΡΠΉ, Π° Π½Π΅ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠΌΠ΅Π»ΡΡ Π²Π²ΠΈΠ΄Ρ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ²: Π²Ρ ΠΏΠΎΠΊΡΡΠ²Π°Π΅ΡΠ΅ Π½Π΅ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Ρ ΠΎΠ΄Ρ, Π° Π½Π΅ΠΊΡΡ ΡΠ΅ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠ²Π½ΡΡ Π²ΡΠ±ΠΎΡΠΊΡ.)
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΏΠ»ΠΎΡ Π°Ρ Π·Π°ΠΌΠ΅Π½Π° Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ.Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΏΡ?
ΠΡΠΎΡΡΠ΅ΠΉΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²: ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π’ΠΈΠΏΡ Bool (ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ Π² Haskell) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: True ΠΈ False.
Π’ΠΈΠΏ Char β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅Ρ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ‘a’ ΠΈΠ»ΠΈ ‘Δ
’.
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ. Π’ΠΈΠΏ String, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΏΠΎ ΡΡΡΠΈ, ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠΎΠΌ ΡΠΏΠΈΡΠΊΠ° Char, β ΠΏΡΠΈΠΌΠ΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°.
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ x, ΠΊΠ°ΠΊ Integer:
x :: Integer
ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, ΡΡΠΎ ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». Integer Π² Haskell β Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ. ΠΡΡΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Int, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΡΠΈΠΏΡ, ΠΊΠ°ΠΊ int Π² C++.
ΠΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΌ. ΠΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΠ»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅Ρ
ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²; Π½ΠΎ, ΠΊΠ°ΠΊ Ρ ΠΈ ΠΎΠ±Π΅ΡΠ°Π», Ρ Π½Π΅ Π±ΡΠ΄Ρ ΡΡΡΠΎΠ³ΠΈΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠΌ. ΠΠ°ΠΆΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ², ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Set, ΠΈ ΠΌΡ Ρ Π½Π΅ΠΉ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π Set, ΠΎΠ±ΡΠ΅ΠΊΡΡ β ΡΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π° ΠΌΠΎΡΡΠΈΠ·ΠΌΡ (ΡΡΡΠ΅Π»ΠΊΠΈ) β ΡΡΠ½ΠΊΡΠΈΠΈ.
Set β ΠΎΡΠΎΠ±Π°Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π²Π½ΡΡΡΡ Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΏΡΡΡΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΎΠ΄ΠΈΠ½, Π½ΠΎ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΄Π²Π°. ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΎΠΆΠ΄Π΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π² ΡΠ΅Π±Ρ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π― ΠΏΠ»Π°Π½ΠΈΡΡΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ Π²ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ Π² ΡΠΈΡΡΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅, ΡΠΎ Π΅ΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΡΠ΅Π»ΠΎΠΊ.
Π ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠΈΠΏΡ Π² Haskell β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π² Haskell β ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄ β ΠΎΠ½Π° Π·Π½Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ²Π΅Ρ. Π€ΡΠ½ΠΊΡΠΈΡ Π² Haskell Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠ²Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ. ΠΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΅ΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π³ΠΎΠ², ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ½ΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ. ΠΠΎ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ, ΠΈ ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ.
ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ Π½Π΅Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Haskell ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡΡ, Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠ»ΠΈ Π½Π΅Ρ β Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ β Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠΈΠΌΠ°. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΡΠ΅-ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊΠΈ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ Π³Π΅Π½ΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ΄Π΅Ρ, ΠΈΠ»ΠΈ Π³ΡΡΠ·Π½ΡΠΉ Ρ
Π°ΠΊ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, β ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π°Π·ΡΠ²Π°Π½Π½ΡΠΌ bottom (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ (bottom) ΡΠ»ΡΡΠΈΡΡΡ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΠΎ-Π΄ΡΡΠ°ΡΠΊΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ Π·Π½Π°Π΅Ρ Ρ
ΠΎΡΠΎΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΉΡΠ΅.), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ _|_ ΠΈΠ»ΠΈ Π² Unicode β₯. ΠΡΠΎ Β«Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π΅Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ΅ΠΌΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π’Π°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ ΠΊΠ°ΠΊ:
f :: Bool -> Bool
ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ True, False, ΠΈΠ»ΠΈ _|_; ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ bottom Π² ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ², ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π° bottom, ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ bottom ΡΠ²Π½ΠΎ. ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ undefined:
f :: Bool -> Bool f x = undefined
ΠΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ undefined Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π² bottom, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ ΡΠΈΠΏΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Bool.
ΠΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
f :: Bool -> Bool f = undefined
(Π±Π΅Π· x) ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ bottom Π΅ΡΠ΅ ΠΈ ΡΠ»Π΅Π½ ΡΠΈΠΏΠ° Bool -> Bool.
Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ bottom, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΠΌΠΈ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ·-Π·Π° bottom, ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΠΈΠΏΠΎΠ² Haskell ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Hask, Π° Π½Π΅ Set. Π‘ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π½Π΅ΡΠΊΠΎΠ½ΡΠ°Π΅ΠΌΡΡ ΠΎΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠΉ Π½ΠΎΠΆ ΠΌΡΡΠ½ΠΈΠΊΠ° ΠΈ Π·Π°Π²Π΅ΡΡΡ ΡΡΠΈ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ. Π‘ ΠΏΡΠ°Π³ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ bottom ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Hask ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ Set.
ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ?
ΠΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, Π²Ρ Ρ
ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΠΈ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΎΠΉ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ·ΡΠΊΠ°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ°. ΠΠΎ ΡΠΌΡΡΠ» ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΡΠ·ΡΠΊΠ° Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΡΡΠ΄Π½Π΅Π΅ ΠΎΠΏΠΈΡΠ°ΡΡ; ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠ°Π½ΠΈΡ, ΡΠ΅Π΄ΠΊΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΈ ΠΏΠΎΡΡΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎ.
ΠΡΡΡΠ΄Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ Π΄ΠΈΡΠΊΡΡΡΠΈΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠ·ΡΠΊΠΎΠ²ΡΡ
ΡΡΠΈΡΡΠΎΠ², ΠΈ Π²ΡΡ ΠΊΡΡΡΠ°ΡΠ½Π°Ρ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΡ ΠΊΠ½ΠΈΠ³, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ
ΡΠΎΠ»ΠΊΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ½ΠΊΠΎΡΡΠ΅ΠΉ ΡΠ·ΡΠΊΠΎΠ²ΡΡ
ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ².
ΠΡΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ ΡΠ·ΡΠΊΠ°, Π½ΠΎ ΠΈΠ·-Π·Π° ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ½ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΡ , Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ², Π° Π½Π΅ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π³ΠΈΠ³Π°Π½ΡΠΎΠ² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ, ΠΈΠ΄Π΅Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ. Π‘Π΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ C++, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ, ΡΠ°ΡΡΠΎ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ Β«Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΡΒ».
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ, ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π½Π΅ΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Ρ, ΠΏΠΎ ΡΡΡΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ Β«Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π΅Β» ΡΠ΅ΡΠ΅Π· ΠΈΠ΄Π΅Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ.
ΠΠ΅ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ. ΠΡ Π²ΡΠ΅Π³Π΄Π° Β«Π΄ΡΠΌΠ°Π΅ΠΌΒ», ΡΡΠΎ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΠΊΡΠΎ Π½Π΅ ΡΠΈΠ΄ΠΈΡ Π·Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ, Π³ΠΎΠ²ΠΎΡΡ: Β«Π, Ρ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ.» (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π°Ρ
, Π΅ΡΠ»ΠΈ Π±Ρ…) ΠΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ, Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΈΠ²Π»Π΅Π½Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΌΠ°Π΅ΠΌ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ, ΠΈ ΠΌΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ, Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π² Π½Π°ΡΠΈΡ
Π³ΠΎΠ»ΠΎΠ²Π°Ρ
. ΠΡΠΎΡΡΠΎ, ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ ΡΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π²ΡΠ΅ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Ρ
ΠΎΡΠΎΡΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π»ΡΠ΄ΠΈ β Π½Π΅Ρ! ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ Π±ΡΠ»ΠΈ, Π½Π°ΠΌ Π±Ρ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ.
ΠΠΎ Π΅ΡΡΡ ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°. ΠΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅. Π Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²Ρ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΎΡΠ΅ΠΌΡ. ΠΡ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΠΌ ΡΡΡΠ΄Π½ΠΎ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΡ, Π»ΡΠ΄ΠΈ, ΡΡΡΠΎΠΈΠ»ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΡΡΡΠΈ Π»Π΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΡ
Π·Π½Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΠΎΡΠ΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ, Π·Π°Π΄Π°ΡΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Ρ. (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π΄Π»Ρ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°, Π°Π²ΡΠΎΡ Π½Π΅ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ².)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° Π² Haskell, ΡΠ·ΡΠΊΠ΅, Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π°ΡΡΠ΅ΠΌΡΡΡ Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅:
fact n = product [1..n]
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ [1..n] β ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ n. Π€ΡΠ½ΠΊΡΠΈΡ product ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π°, Π²Π·ΡΡΠΎΠ΅ ΠΈΠ· ΡΡΠ΅Π±Π½ΠΈΠΊΠ°. Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ ΡΡΠΎ Ρ C:
int fact(int n) {
int i;
int result = 1;
for (i = 2; i <= n; ++i)
result *= i;
return result;
}
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ? (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π°Π²ΡΠΎΡ ΡΠ»Π΅Π³ΠΊΠ° ΡΡ ΠΈΡΡΠΈΠ», Π²Π·ΡΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Haskell. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Ρ ΠΈΡΡΠΈΡΡ Π±ΡΠ»ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΠ΅ΡΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅):
fact 0 = 1 fact n = n * fact (n - 1)
Π₯ΠΎΡΠΎΡΠΎ, Ρ ΡΡΠ°Π·Ρ ΠΏΡΠΈΠ·Π½Π°Ρ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ» Π΄Π΅ΡΠ΅Π²ΡΠΉ ΠΏΡΠΈΠ΅ΠΌ! Π€Π°ΠΊΡΠΎΡΠΈΠ°Π» ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
ΠΡΠΎΠ½ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠΎΡΠΈΡΡ: ΠΠ°ΠΊΠΎΠ²Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎ ΡΠ΅ΡΠΈ? ΠΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΎ Π±ΡΠ» Π±Ρ Π½Π΅Π»ΠΎΠ²ΠΊΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ, Π²Π΅Π΄ΡΡΠΈΠΉ ΠΊ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΌ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡΠΌ. ΠΠ°Π·Π°Π»ΠΎΡΡ, Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π²Π°ΠΆΠ½ΡΡ
Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠ΅ΡΠ°Π΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ. ΠΡΠΎΡΡΠ² ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» ΠΈΠ· ΡΠ΅ΠΎΡΠΈΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ. ΠΡΠ³Π΅Π½ΠΈΠΎ ΠΠΎΠ΄ΠΆΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² ΠΌΠΎΠ½Π°Π΄Ρ. ΠΡΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π²Π°ΠΆΠ½ΡΠΌ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π»ΠΎ Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ Π½ΠΎΠ²ΡΡ ΠΆΠΈΠ·Π½Ρ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΎ ΡΠΈΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ, Π½ΠΎ ΠΈ Π΄Π°Π»ΠΎ Π½ΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. Π― Π±ΡΠ΄Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΌΠΎΠ½Π°Π΄Π°Ρ
ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ
ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π½Π°Π»ΠΈΡΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΡΡΠΎΠ»Ρ Π²Π°ΠΆΠ½ΡΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠΎΡΡ, Π½ΠΎ Π΅ΡΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π³Π΄Π΅ ΡΠ΅Π½Π° ΡΠ±ΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ, ΠΈΠ»ΠΈ ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠ°Ρ ΠΆΠΈΠ·Π½Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ ΡΠ³ΡΠΎΠ·ΠΎΠΉ. ΠΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π΄ΡΠ°Π²ΠΎΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΡ ΠΌΡΡΠ»Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ·ΡΠΊΠ° Haskell ΠΈΠ΄ΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°ΠΌΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ.
Π§ΠΈΡΡΡΠ΅ ΠΈ ΠΡΡΠ·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π’ΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π² C++ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ β ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠΌΠ΅Ρ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° ΡΠΈΡΠ»Π°, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠΌΠ½ΠΎΠΆΠΈΡ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ΅Π±Ρ. ΠΠ½Π° Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅, ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ.
ΠΠ²Π°Π΄ΡΠ°Ρ ΡΠΈΡΠ»Π° Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Ρ ΡΠ°Π·Π°ΠΌΠΈ ΠΡΠ½Ρ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° ΡΠΈΡΠ»Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ°, Π²ΡΠΎΠ΄Π΅ Π²ΡΠ΄Π°ΡΠΈ Π²ΠΊΡΡΠ½ΠΎΠ³ΠΎ Π½ΠΈΡΡΡΡΠΊΠ° Π²Π°ΡΠ΅ΠΉ ΡΠΎΠ±Π°ΠΊΠ΅. Β«Π€ΡΠ½ΠΊΡΠΈΡΒ», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠ΅ΠΉ.
Π ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΈΡΡΡΠΌΠΈ. Π ΡΠΈΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Haskell, Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΡΡΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π΅Π½ΠΎΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΎΡΠΈΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠ΅Π±Ρ ΡΠΈΡΡΡΠΌ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ, ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΡΡΠ»ΡΡΡ ΠΎ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠ°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΠΎΠ·ΠΆΠ΅ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠ½Π°Π΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΡΡΠ΅ΠΊΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΅ΡΡΠ΅ΠΌ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏΠΎΠ²
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΡΠΈΠΏΡ β ΡΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΡΠΌΠ° ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΡΡΠΎΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ? ΠΠ΅Ρ, ΡΡΠΎ Π½Π΅ void Π² C++, Ρ
ΠΎΡΡ ΡΡΠΎΡ ΡΠΈΠΏ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Void Π² Haskell. ΠΡΠΎ ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ Π½ΠΈ ΠΎΠ΄Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Void, Π½ΠΎ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π΅ Π²ΡΠ·Π²Π°ΡΡ. Π§ΡΠΎΠ±Ρ Π΅Π΅ Π²ΡΠ·Π²Π°ΡΡ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Void, Π° Π΅Π³ΠΎ ΡΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½Π΅Ρ. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ β Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ (Ρ
ΠΎΡΡ ΡΡΠΎΠ³ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»ΡΡΠΈΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π°). ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½Π° ΠΏΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΌΡ ΡΠΈΠΏΡ. Π₯Π°ΡΠΊΠ΅Π»Π»Π΅ΡΡ Π½Π°Π·Π²Π°Π»ΠΈ Π΅Π΅:
absurd :: Void -> a
(ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π½Π° Π‘++ ΡΠ°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ: Π² Π‘++ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.)
(ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ a β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ ΡΠΈΠΏΠΎΠΌ.) ΠΡΠΎ ΠΈΠΌΡ Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΎΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΠ°ΡΡΠΈ-ΠΠΎΠ²Π°ΡΠ΄Π°.
Π’ΠΈΠΏ Void ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΏΡΠ°Π²Π΄ΠΈΠ²ΠΎΡΡΡ, Π° ΡΡΠ½ΠΊΡΠΈΡ absurd β ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΈΠ· Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ, ΠΊΠ°ΠΊ Π² Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠΉ ΡΡΠ°Π·Π΅ Β«ex falso sequitur quodlibet.Β» (ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΠΈΠ· Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ.)
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΡΠΈΠΏ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ. ΠΡΠΎ ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ Β«Π΅ΡΡΡΒ». ΠΡ ΠΌΠΎΠ³Π»ΠΈ ΡΡΠ°Π·Ρ Π΅Π³ΠΎ Π½Π΅ ΠΏΡΠΈΠ·Π½Π°ΡΡ, Π½ΠΎ ΡΡΠΎ void Π² C++. ΠΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ
ΠΎΡ ΠΈ Π² ΡΡΠΎΡ ΡΠΈΠΏ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠ· void Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π°. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠΈΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ½Π° Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
int f44() { return 44; }
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Β«Π½ΠΈΡΠ΅Π³ΠΎΒ», Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Β«Π½ΠΈΡΠ΅Π³ΠΎΒ» Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏ Β«Π½ΠΈΡΠ΅Π³ΠΎΒ». ΠΡΠ°ΠΊ, ΡΡΠΎ ΠΆΠ΅ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ? ΠΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ, ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠΊΡΠΈΠ²Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²Π½ΠΎ Π΅Π³ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΠΊΠΎΠ΄Π΅.
Π Haskell, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: ΠΏΡΡΡΠ°Ρ ΠΏΠ°ΡΠ° ΡΠΊΠΎΠ±ΠΎΠΊ (). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠ· Π·Π° Π·Π°Π±Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ (ΠΈΠ»ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ?), Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡ void Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΈ Π² C++ ΠΈ Π² Haskell. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ·-Π·Π° Π»ΡΠ±Π²ΠΈ Π₯Π°ΡΠΊΠ΅Π»Ρ ΠΊ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΠΈ, ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ» () ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ Π΄Π»Ρ ΡΠΈΠΏΠ°, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ. ΠΠΎΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π² Haskell:
f44 :: () -> Integer f44 () = 44
ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ, ΡΡΠΎ f44 ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠΈΠΏ (), Π½Π°Π·Π²Π°Π½Π½ΡΠΉ Β«Π΅Π΄ΠΈΠ½ΠΈΡΠ°Β», Π² ΡΠΈΠΏ Integer. ΠΡΠΎΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ f44 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½-ΠΌΠ°ΡΡΠΈΠ½Π³Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ () Π² ΡΠΈΡΠ»ΠΎ 44. ΠΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ():
f44 ()
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° Π²ΡΠ±ΠΎΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (Π·Π΄Π΅ΡΡ, Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Integer 44). ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΡΠΌΠ°ΡΡ ΠΎ f44, ΠΊΠ°ΠΊ ΠΈΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΈΡΠ»Π° 44.
ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΡΠΌΠΎΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΡ (ΡΡΡΠ΅Π»ΠΊΡ). Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡΡ Π² Π½Π΅ΠΊΠΈΠΉ ΡΠΈΠΏ Π Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π²ΠΎ Π²Π·Π°ΠΈΠΌΠ½ΠΎ-ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° A.
Π ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΡ void, ΠΈΠ»ΠΈ, Π² Haskell, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ? Π C++ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², Π½ΠΎ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β Π½Π΅ Π½Π°ΡΡΠΎΡΡΠΈΠ΅, Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°. Π§ΠΈΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ: ΠΎΠ½Π° ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π Π² ΠΎΠ΄Π½ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π Π΅ΡΡΡ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½Π° ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΡ ΠΎΠ½Π° Π΄Π»Ρ Integer:
fInt :: Integer -> () fInt x = ()
ΠΡ Π΄Π°Π΅ΡΠ΅ Π΅ΠΉ Π»ΡΠ±ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΈ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ. Π‘Π»Π΅Π΄ΡΡ Π΄ΡΡ
Ρ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΠΈ, Haskell ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΠΎΠ΄ Π²ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅:
fInt :: Integer -> () fInt _ = ()
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΈ ΠΎΡ ΡΠΈΠΏΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΌΡΠ»ΠΎΠΉ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΠ°ΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΊ Π½Π°Π·Π²Π°ΡΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² Π΅Π΄ΠΈΠ½ΠΈΡΡ? ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π΅ unit:
unit :: a -> () unit _ = ()
Π C++ Π²Ρ Π±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π΅Π΅ ΡΠ°ΠΊ:
template<class T>
void unit(T) {}
(ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π΄Π°Π±Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅ Π² noop, Π»ΡΡΡΠ΅ ΡΠ°ΠΊ):
template<class T>
void unit(T&&) {}
ΠΠ°Π»Π΅Π΅ Π² Β«ΡΠΈΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠΈΠΏΠΎΠ²Β» Π½Π°Π±ΠΎΡ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π C++ ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ bool, Π° Π² Haskell, ΡΡΠΎ Π½Π΅ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Bool. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π² C++ bool ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² Haskell ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
data Bool = True | False
(Π§ΠΈΡΠ°ΡΡ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΈΡ ΡΠ°ΠΊ: Bool ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ»ΠΈ True ΠΈΠ»ΠΈ False.) Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΎΡ ΡΠΈΠΏ ΠΈ Π² C++:
enum bool {
true,
false
};
ΠΠΎ C++ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ C++11 Β«class enumΒ», Π½ΠΎ ΡΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΡΡΠΎΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°: bool::true ΠΈΠ»ΠΈ bool::false, Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ.
Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Bool ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΎΠ΄Π½ΠΎ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ True ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ β False.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π² Bool Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Data.Char Π² Haskell ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ IsAlpha ΠΈΠ»ΠΈ isDigit.
Π C++ Π΅ΡΡΡ ΠΏΠΎΡ
ΠΎΠΆΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° <cctype>, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠΎΡΠ΅Π³ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΈ isalpha ΠΈ isdigit, Π½ΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ int, Π° Π½Π΅ Π±ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΡΡΠΎΡΡΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² <locale> ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ctype::is(alpha, c) ΠΈ ctype::is(digit, c).
Π’Π΅ΠΎΡΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²: ΠΏΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ: ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ
Π’ΠΈΠΏΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈ ΠΌΠ°Π»ΡΠ΅
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΠ»Π΅ΠΉΡΠ»ΠΈ
Π€ΡΠ½ΠΊΡΠΈΡ, ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° C
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C Π§ΡΠ΅Π½ΠΈΠ΅: 3 ΠΌΠΈΠ½.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° C ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π½Π° Π΄Π²Π΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ: Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΡΠΎΠΌ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΈ ΠΌΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΈ Π½Π°ΡΡΠΈΠΌΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π½ΠΈΠΆΠ΅ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π². Π― ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΡΠ΅Π΅.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π½Π°Π½ΠΈΡ
ΠΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C, ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎΠ·Π²ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ΅ΠΊΡΡΡΠΈΡ
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠΉ
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΊΡΠ± Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠ°, Π΄Π»ΠΈΠ½Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΊΡΡΠ³Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΈΡΠ»Π°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.

- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΈΡΠ»ΠΎ ΡΠ΅ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΡΡΡΠΌ, ΠΡΠΌΡΡΡΠΎΠ½Π³ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΈΡΠ»Π° ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅Ρ ΡΠΈΠ»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅Ρ ΡΠΈΡΠ΅Π» ΠΡΠΌΡΡΡΠΎΠ½Π³Π° ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π» ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅Ρ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ n Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅Ρ
ΡΠ΅ΡΠ½ΡΡ
ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π» Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.

- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ n Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ ΡΠ΅ΡΠ½ΡΡ ΠΈΠ»ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅Π²Π΅ΡΡΠ° Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΈΡΠ»ΠΎ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΡ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ ΡΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ n-Π³ΠΎ ΡΠ»Π΅Π½Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΠΠ (HCF) Π΄Π²ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΠΠ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.

- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
| #, ## | ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ |
| #ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ | ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ |
| #ΠΎΡΠΈΠ±ΠΊΠ° | Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ |
| #Π΅ΡΠ»ΠΈ, #ifdef, #ifndef, #else, #ΡΠ»ΠΈΡ, #ΡΠ½Π΄ΠΈΡ | ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ |
| #include | Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ» |
| #ΡΡΡΠΎΠΊΠ° | ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅ |
| #ΠΏΡΠ°Π³ΠΌΠ° | ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° |
| #undef | ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ |
| ΠΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ | ΡΠ°Π·Π½ΡΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ |
| ΠΏΡΠ΅ΡΠ²Π°ΡΡ | ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ |
| Π°Π±Ρ | Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
| Π°ΠΊΠΎΡ | Π°ΡΠΊΠΊΠΎΡΠΈΠ½ΡΡ |
| asctime | ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ |
| ΠΊΠ°ΠΊ | Π°ΡΠΊΡΠΈΠ½ΡΡ |
| ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ | ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΅ΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΏΡΠ°Π²Π΄Π° |
| Π°ΡΠ°Π½ | Π°ΡΠΊΡΠ°Π½Π³Π΅Π½Ρ |
| Π°ΡΠ°Π½2 | Π°ΡΠΊΡΠ°Π½Π³Π΅Π½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π½Π°ΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ²Π°Π΄ΡΠ°Π½ΡΡ |
| Π²ΡΡ ΠΎΠ΄ | ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΡ ΠΎΠ΄ΠΈΡ |
| ΠΎΡ | ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ Π² Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ |
| Π°ΡΠΎΠΈ | ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ Π² ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ |
| Π°ΡΠΎΠ» | ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ Π² Π΄Π»ΠΈΠ½Π½ΡΡ |
| ΠΏΠΎΠΈΡΠΊ | Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ |
| ΠΊΠ°Π»Π»ΠΎΠΊ | Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΈ ΠΎΡΠΈΡΠ°Π΅Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΊΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ |
| ΠΏΠΎΡΠΎΠ»ΠΎΠΊ | Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
| ΠΎΡΠΈΡΡΠΈΡΠ΅Π»Ρ | ΠΎΡΠΈΡΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ |
| ΡΠ°ΡΡ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΏΡΡΠ΅Π½Π° |
| ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ | ΠΊΠΎΡΠΈΠ½ΡΡ |
| ΠΊΠΎΡ | Π³ΠΈΠΏΠ΅ΡΠ±ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΡΠΈΠ½ΡΡ |
| Π²ΡΠ΅ΠΌΡ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π΅ΡΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ |
| Π²ΡΠ΅ΠΌΡ ΡΠ°Π·Π½ΠΈΡΡ | ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ°Π· |
| ΡΠ°Π·Π΄Π΅Π» | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΠ½ΠΎΠ΅ ΠΈ ΠΎΡΡΠ°ΡΠΎΠΊ Π΄ΠΈΠ²ΠΈΠ·ΠΈΠΈ |
| Π²ΡΡ ΠΎΠ΄ | ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ |
| ΡΠΊΡΠΏ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ «Π΅», Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π² Π΄Π°Π½Π½Π°Ρ ΠΌΠΎΡΠ½ΠΎΡΡΡ |
| Π·Π°Π²ΠΎΠ΄Ρ | Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ Π½ΠΎΠΌΠ΅ΡΠ° |
| fΠ·Π°ΠΊΡΡΡΡ | Π·Π°ΠΊΡΡΡΡ ΡΠ°ΠΉΠ» |
| feof | Π²Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Π° |
| ΠΎΡΠΈΠ±ΠΊΠ° | ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ°ΠΉΠ» Π½Π° ΠΎΡΠΈΠ±ΠΊΡ |
| Π·Π°ΠΏΠΎΠ΄Π»ΠΈΡΠΎ | Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ²ΠΎΠ΄Π° Π±ΡΡΠ΅Ρ |
| ΡΠ³Π΅ΡΠΊ | ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° |
| fgetpos | ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ |
| fgets | ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΠΏΠΎΡΠΎΠΊ |
| ΡΡΠ°ΠΆ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
| ΡΠΌΠΎΠ΄ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ |
| ΡΠΎΠΏΠ΅Π½ | ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» |
| ΡΠΏΡΠΈΠ½ΡΡ | ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΡΠ°ΠΉΠ» |
| ΡΠΏΡΡΠΊ | Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΡΠ°ΠΉΠ» |
| ΡΠΏΡ | Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠ°ΠΉΠ» |
| Ρ Π»Π΅Π± | ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π° |
| Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π½Π΅Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ |
| ΡΡΠΈΠΎΠΏΠ΅Π½ | ΠΎΡΠΊΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊ Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠΌΡ |
| ΡΠ°ΡΡΠΎΡΠ° | ΡΠ°Π·Π»Π°Π³Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ Π½Π° Π½Π°ΡΡΠ½ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
| ΡΡΠΊΠ°Π½Ρ | ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈΠ· ΡΠ°ΠΉΠ» |
| ΠΏΠΎΠΈΡΠΊ | ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΡΠ°ΠΉΠ» |
| ΡΡΠ΅ΡΠΏΠΎΡ | ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΡΠ°ΠΉΠ» |
| ΡΡΡΠΎΠ² | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ |
| fΠ·Π°ΠΏΠΈΡΡ | Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ°ΠΉΠ» |
| ΠΏΠΎΠ»ΡΡΠΈΡΡ | ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· ΡΠ°ΠΉΠ»Π° |
| Π³Π΅ΡΡΠ°Ρ | ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· Π‘Π’ΠΠΠΠΠ Π’ΠΠ«Π ΠΠ |
| getenv | ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ΅Π΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ |
| ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ | ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ· Π‘Π’ΠΠΠΠΠ Π’ΠΠ«Π ΠΠ |
| Π³ΠΌΠ²ΡΠ΅ΠΌΡ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ Π‘ΡΠ΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎ ΠΡΠΈΠ½Π²ΠΈΡΡ |
| ΠΈΠ·Π°Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ | true, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» Π±ΡΠΊΠ²Π΅Π½Π½ΠΎ-ΡΠΈΡΡΠΎΠ²ΠΎΠΉ |
| ΠΈΡΠ°Π»ΡΡΠ° | true, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» Π°Π»ΡΠ°Π²ΠΈΡΠ½ΡΠΉ |
| ΠΊΠΎΠ΄ | true, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ |
| isdigit | ΠΈΡΡΠΈΠ½Π°, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠΎΠΉ |
| ΠΠ·Π³ΡΠ°Ρ | true, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ |
| Π½ΠΈΠΆΠ½ΠΈΠΉ | true, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ |
| isprint | true, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΌ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ |
| ΠΈΠΏΡΠ½ΠΊΡ | true, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠ½ΠΊΡΡΠ°ΡΠΈΡ |
| isspace | true, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΠ±Π΅Π» ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ |
| Π²Π΅ΡΡ Π½ΠΈΠΉ | ΠΈΡΡΠΈΠ½Π°, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ |
| isxdigit | true, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» |
| Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΠΈ | Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° |
| Π»Π΄ΡΠΊΡΠΏ | Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ Π² Π½Π°ΡΡΠ½ΠΎΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
| Π»Π΄ΠΈΠ² | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΠ½ΠΎΠ΅ ΠΈ ΠΎΡΡΠ°ΡΠΎΠΊ Π΄Π΅Π»Π΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° |
| ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΡΠ΅ΠΌΡ |
| ΠΆΡΡΠ½Π°Π» | Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π»ΠΎΠ³Π°ΡΠΈΡΠΌ |
| ΠΆΡΡΠ½Π°Π» 10 | Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π»ΠΎΠ³Π°ΡΠΈΡΠΌ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ 10 |
| Π»ΠΎΠ½Π΄ΠΆΠΌΠΏ | Π½Π°ΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ |
| ΠΌΠ°Π»Π»ΠΎΠΊ | Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ |
| ΠΏΠ°ΠΌΡΡΡ | ΠΈΡΠ΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° |
| ΠΏΠ°ΠΌΡΡΡ | ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π΄Π²Π° Π±ΡΡΠ΅ΡΠ° |
| ΠΏΠ°ΠΌΡΡΡ | ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ Π±ΡΡΠ΅Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ |
| ΠΏΠ°ΠΌΡΡΡ | ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π±ΡΡΠ΅Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ |
| Π½Π°Π±ΠΎΡ ΠΏΠ°ΠΌΡΡΠΈ | Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±ΡΡΠ΅Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ |
| ΠΌΠΊΡΠ°ΠΉΠΌ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π΄Π°Π½ΠΎ Π²ΡΠ΅ΠΌΡ |
| ΠΌΠΎΠ΄Ρ | ΡΠ°Π·Π»Π°Π³Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ Π½Π° ΡΠ΅Π»ΠΎΠ΅ ΠΈ Π΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ°ΡΡΠΈ |
| ΠΎΡΠΈΠ±ΠΊΠ° | ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π½Π° STDERR |
| ΠΏΠ°Ρ | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΠΎΠ΅ Π΄ΠΎ Π΄ΡΡΠ³ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ |
| ΠΏΠ΅ΡΠ°ΡΡ | Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π² Π‘Π’ΠΠΠΠΠ Π’ΠΠ«Π ΠΠ«Π₯ΠΠ |
| ΠΏΡΡΠΊ | Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΠΏΠΎΡΠΎΠΊ |
| ΠΏΡΡΡΠ°Ρ | Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π² Π‘Π’ΠΠΠΠΠ Π’ΠΠ«Π ΠΠ«Π₯ΠΠ |
| ΡΡΠ°Π²ΠΈΡ | Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ Π² Π‘Π’ΠΠΠΠΠ Π’ΠΠ«Π ΠΠ«Π₯ΠΠ |
| ΡΠΎΡΡ | Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±ΡΡΡΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ |
| ΠΏΠΎΠ΄Π½ΡΡΡ | ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΈΠ³Π½Π°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ |
| ΡΠ°Π½Π΄ΠΎΠ² | Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ | .

