ΠΠ°Π΄Π°ΡΠ° 11.4. ΠΠ°Π΄Π°Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ
Π±ΠΈΠ½Π°ΡΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΡΠ΅Π»ΡΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π΄Π²ΡΠΌΠ΅ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
type Table = [(String, Integer -> Integer -> Integer)]
opTable: Table.
opTable = [(«+ «, (+)),(«-», ,(«/», div),(«%», mod)].
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ
ΠΡ
ΡΠ³ ΠΈΠ· Π·Π°Π΄Π°ΡΠΈ 11.3, Π²ΡΡΠΈΡΠ»ΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°ΠΊΠΈΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΌ Π»ΡΠΌΠ±Π΄Π°-ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π»ΠΎ Π²ΠΈΠ΄ ΠΡ
. Ρ
+ (2*2), Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΡ
. Ρ
+4. Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ.
evaluate:: Table -> ΠΡ
ΡΠ³ -> ΠΡ
ΡΠ³ ΠΠΎΡΠ»Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡΠ°ΡΡΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΊ Π΄Π²ΡΠΌ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌ.
ΠΠ°Π΄Π°ΡΠ° 11.5. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° ΠΡ
ΡΠ³, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² Π·Π°Π΄Π°ΡΠ΅ 11.3, Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ»ΠΈ 5-ΡΠ΅Π΄Π΅ΠΊΡΠ°. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ»Π°Π±ΠΎΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅, Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅.
ΠΠ°Π΄Π°ΡΠ° 11.6. Π Π°ΡΡΠΈΡΡΡΠ΅ eval/apply-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 11.1, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ» Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΊ ΡΠ»Π°Π±ΠΎΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅, Π° ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΊ ΡΠΈΡΡΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ·-Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΈΠΌΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 11.1, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.