VC_LINES = 3,
VC_COLUMNS = 4,
VC_XPIXELS = 5,
VC_YPIXELS = 6,
VC_NCOLORS = 7,
VC_PAGES = 8
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²Π°ΠΌ ΡΠ°ΠΊ Π²ΡΠ±ΡΠ°ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ (Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ»Π°ΡΠ°ΠΌΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ ).
ΠΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ². ΠΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΏ, ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡ. ΠΡΠΎΡΠΎΠΉ ΡΠΈΠΏ, ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠΈΠΊΡΠ΅Π»Ρ, ΠΈΠ»ΠΈ ΡΠΎΡΠΊΠΈ, Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ²Π΅ΡΠ°Ρ , Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΡΠ΅ΠΊΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π΅ΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ VC_XPIXELS ΠΈ VC_YPIXELS ΡΠ°Π²Π½Ρ 0. Π’Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΊΠ°ΠΊ polygon(), draw_line() ΠΈ ellipse() ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΡΠΈΠΌΠ΅Ρ:
vc = video_config() -- Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ 3 Ρ 25-Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°:
-- vc ΡΠ°Π²Π½ΠΎ {1, 3, 25, 80, 0, 0, 32, 8}
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
graphics_mode
wait_key
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include get.e
i = wait_key()
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠ΄Π°ΡΡ ΠΊΠΎΠ΄ ΠΊΠ»Π°Π²ΠΈΡΠΈ, Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅. ΠΠΎΠ΄ Π²ΡΠ΄Π°ΡΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ get_key(), Π΅ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅:
while 1 do
k = get_key()
if k != -1 then
exit
end if
end while
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Windows ΠΈΠ»ΠΈ Linux/FreeBSD, ΡΠ°ΠΊΠΎΠ΅ "Π·Π°Π½ΡΡΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅" Ρ get_key() Π±ΡΠ΄Π΅Ρ ΡΠ½ΠΈΠΆΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΆΠ΅ wait_key() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΡΡΠ³ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎΠΊΠ° Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ getc(0), ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»Ρ Π½ΠΎΠΌΠ΅Ρ 0 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π²ΠΎΠ΄ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠ»Π°Π²ΠΈΡ, ΠΊΠ»Π°Π²ΠΈΡ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΠ΄Ρ ΠΊΠ»Π°Π²ΠΈΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΠΈ Ρ.ΠΏ. ΠΠ°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ getc(0) Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°Ρ RDS ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, Π² Π΄Π²ΡΡΠ·ΡΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°Ρ ΠΎΠ½ΠΎ ΡΠ½ΡΡΠΎ.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
get_key, getc
walk_dir
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include file.e
i1 = walk_dir(st, i2, i3)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠ°Π½Π½Π°Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° "ΠΏΡΠΎΠΉΠ΄ΡΡΡΡ" ΠΏΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΎ Π² ΡΡΠ΄Π΅ st, ΠΈ Π±ΡΠ΄Π΅Ρ Π² ΡΡΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ. i2 ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. walk_dir() ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² st. ΠΡΠ»ΠΈ i3 Π½Π΅ ΡΠ°Π²Π½ΠΎ 0 (TRUE), ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π² st Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΉΠ΄Π΅Π½Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ.
Π€ΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΡΡΠ΅ΠΉ ΠΈ Π²Ρ ΠΎΠ΄Ρ dir() Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π°Π²Π°ΡΡ 0 Π΄Π»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅-Π½ΠΎΠ»Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ walk_dir().
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ², Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ walk_dir() ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΉΠ΄Π΅Π½Ρ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ my_dir Π΄Π»Ρ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ dir(), ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΌ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΄Π»Ρ ΡΡΡΠ½Π΅Π½ΠΈΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΡΠ΅ΠΊΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ dir() Π² ΡΠ°ΠΉΠ»Π΅ file.e.
ΠΠΌΡ ΠΏΡΡΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΏΠΎΠ΄Π°ΡΡΠ΅ Π² walk_dir(), Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄ΠΎΠ³Π°Π΄ΠΎΠΊ (* ΠΈΠ»ΠΈ ?). ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ (ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ), ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π°Π½ΠΎ Π² Π½Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ:
function look_at(sequence path_name, sequence entry)
-- Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΡΡΠ΄Π° ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ
printf(1, "%s\\%s: %d\n",
{path_name, entry[D_NAME], entry[D_SIZE]})
return 0 -- ΠΏΡΠΎΡ ΠΎΠ΄ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ
end function
exit_code = walk_dir("C:\\MYFILES", routine_id("look_at"), TRUE)
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
euphoria\bin\search.ex
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
dir, current_dir
where
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include file.e
a1 = where(fn)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΄Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π±Π°ΠΉΡΠΎΠ²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ fn. ΠΠ°ΠΉΡΠΎΠ²Π°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ, Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°Ρ Π² ΡΠ°ΠΉΠ»Π΅. ΠΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡ Π΄Π°ΡΡ ΠΌΠ΅ΡΡΠΎ Π² ΡΠ°ΠΉΠ»Π΅, Π³Π΄Π΅ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ Π±Π°ΠΉΡ Π±ΡΠ΄Π΅Π½ ΠΏΡΠΎΡΠΈΡΠ°Π½ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°Π½.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
seek, open
wildcard_file
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include wildcard.e
i = wildcard_file(st1, st2)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠ΄Π°ΡΡ 1 (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° st2 ΡΠΎΠ²ΠΏΠ°Π»ΠΎ Ρ Π²Π°ΡΠ΅ΠΉ Π΄ΠΎΠ³Π°Π΄ΠΊΠΎΠΉ (ΠΌΠ°ΡΠΊΠΎΠΉ, ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ) st1. ΠΡΠ΄Π°ΡΡ 0 (Π»ΠΎΠΆΡ) Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π² DOS Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π»ΡΡΡΠ΅ Π½Π΅Ρ. Π‘ΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ³Π°Π΄ΠΊΠΈ '*' ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ 0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ³Π°Π΄ΠΊΠΈ '?' ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠΎΠ΄ Linux ΠΈ FreeBSD ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ, ΡΠΎ Π΅ΡΡΡ, ΡΡΡΠΎΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ Π½Π΅ ΡΠ°Π²Π½ΠΎΠ·Π½Π°ΡΠ½Ρ. ΠΠΎΠ΄ DOS ΠΈ Windows - Π½Π΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΡΠΎΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ ΡΠ°Π²Π½ΠΎΠ·Π½Π°ΡΠ½Ρ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ dir(), ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΡΡΠ½ΠΊΡΠΈΠΈ DOS "*ABC.*" Π΄Π°Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ². Π€ΡΠ½ΠΊΡΠΈΡ ΠΆΠ΅ wildcard_file("*ABC.*", s) Π²ΡΠ΄Π΅Π»ΠΈΡ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π±ΡΠΊΠ²Π°ΠΌΠΈ "ABC" (ΠΊΠ°ΠΊ Π²Ρ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅).
ΠΡΠΈΠΌΠ΅Ρ 1:
i = wildcard_file("AB*CD.?", "aB123cD.e")
-- i Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 1 ΠΏΠΎΠ΄ DOS ΠΈΠ»ΠΈ Windows, Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 ΠΏΠΎΠ΄ Linux ΠΈΠ»ΠΈ FreeBSD
ΠΡΠΈΠΌΠ΅Ρ 2:
i = wildcard_file("AB*CD.?", "abcd.ex")
-- i Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 ΠΏΠΎΠ΄ Π²ΡΠ΅ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ
-- ΡΠ°ΠΉΠ»Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 2 ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π° Π½Π΅ 1.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
bin\search.ex
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
wildcard_match, dir
wildcard_match
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include wildcard.e
i = wildcard_match(st1, st2)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄ΠΎΠ³Π°Π΄ΠΎΠΊ '*' ΠΈ '?'. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΄Π°ΡΡ 1 (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° st2 ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ st1. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΄Π°ΡΡΡΡ 0 (Π»ΠΎΠΆΡ). Π‘ΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ³Π°Π΄ΠΊΠΈ '*' ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π»ΡΠ±ΡΠ΅ 0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π‘ΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ³Π°Π΄ΠΊΠΈ '?' ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π»ΡΠ±ΠΎΠΉ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ». Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ, ΡΠΎ Π΅ΡΡΡ, ΡΡΡΠΎΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π°ΠΉΡΠ΅ ΠΎΠ±Π° ΡΡΠ΄Π° st1 ΠΈ st2 Π² ΡΡΠ½ΠΊΡΠΈΡ upper() ΠΈΠ»ΠΈ lower() ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ wildcard_match().
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π²Π½ΡΡΡΠΈ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ» '*' ΠΊ ΠΎΠ±ΠΎΠΈΠΌ ΠΊΠΎΠ½ΡΠ°ΠΌ ΠΎΠ±ΡΠ°Π·ΡΠ°:
i = wildcard_match('*' & pattern & '*', string)
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅Ρ ΠΏΠΎΠΊΠ° ΡΠΏΠΎΡΠΎΠ±Π° Π·Π°Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ '*' ΠΈΠ»ΠΈ '?' Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ ΡΠ²ΠΎΡ ΡΠΎΠ»Ρ Π΄ΠΎΠ³Π°Π΄ΠΎΠΊ.
ΠΡΠΈΠΌΠ΅Ρ 1:
i = wildcard_match("A?B*", "AQBXXYY")
-- i Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 1 (TRUE)
ΠΡΠΈΠΌΠ΅Ρ 2:
i = wildcard_match("*xyz*", "AAAbbbxyz")
-- i Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 1 (TRUE)
ΠΡΠΈΠΌΠ΅Ρ 3:
i = wildcard_match("A*B*C", "a111b222c")
-- i Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 (FALSE), ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π΅ΡΡ Π½ΠΈΠΉ/Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
bin\search.ex
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
wildcard_file, match, upper, lower, compare
wrap
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include graphics.e
wrap(i)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π Π°Π·ΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ (i = 1) ΠΈΠ»ΠΈ ΠΎΡΡΠ΅ΠΊΠ°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ (i = 0).
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΡΠ½ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ wrap() Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ ΠΈΠ»ΠΈ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ , ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ:
puts(1, repeat('x', 100) & "\n\n")
-- ΠΈΠΌΠ΅Π΅ΠΌ ΡΡΡΠΎΠΊΡ ΠΈΠ· 80 'x', Π° Π½ΠΈΠΆΠ΅ ΡΡΡΠΎΠΊΡ ΠΈΠ· 20 'x'
wrap(0)
puts(1, repeat('x', 100) & "\n\n")
-- ΠΈΠΌΠ΅Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΠΈΠ· 80 'x'.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
puts, position
xor_bits
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
x3 = xor_bits(x1, x2)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ XOR (ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ ΠΠΠ) Π½Π°Π΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π±ΠΈΡΠ°ΠΌΠΈ Π² x1 ΠΈ x2. ΠΠΈΡ x3 Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ 1, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π±ΠΈΡΠΎΠ² Π² x1 ΠΈΠ»ΠΈ x2 ΡΠ°Π²Π΅Π½ 1, Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ 0.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π°ΡΠΎΠΌΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠ΄Π°ΠΌΠΈ. Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΄ΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° ΡΡΠ΄Π°Ρ .
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌΡ 32-Π±ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π±Π΅Π· Π·Π½Π°ΠΊΠ°.
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠΌΠΈ 32-Π±ΠΈΡΠ½ΡΠΌΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Π°ΠΌΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π²Π°ΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ atom, Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΊ integer. Π’ΠΈΠΏ integer Π² Euphoria ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ 31-ΠΌ Π±ΠΈΡΠΎΠΌ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ°ΠΊΡΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΡΠ»Π° ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ. ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ°ΡΡΠΈΠΉ Π±ΠΈΡ ΡΠ°Π²Π΅Π½ 1.
ΠΡΠΈΠΌΠ΅Ρ:
a = xor_bits(#0110, #1010)
-- a Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ #1100
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
and_bits, or_bits, not_bits, int_to_bits, int_to_bytes
...