Π‘ΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡ Π΅Π·ΠΈΠΊ Crystal 1.0 Π±Π΅ΡΠ΅ ΠΎΠ±ΡΠ²Π΅Π½ΠΎ. ΠΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π΅ ΠΏΡΠΈΠ·Π½Π°ΡΠΎ Π·Π° ΠΏΡΡΠ²ΠΈΡ Π·Π½Π°ΡΠΈΠΌ ΡΠ΅Π»ΠΈΠ·, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π° 8 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΈ Π±Π΅Π»Π΅ΠΆΠΈ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΅Π·ΠΈΠΊΠ°, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΡΠ΅Π°Π»Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ. Π ΠΊΠ»ΠΎΠ½ 1.x ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ ΠΈ Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ, ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΠΈΠΌΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π΅Π·ΠΈΠΊΠ° ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡ ΠΊΠΎΠ΄.
ΠΠ·Π΄Π°Π½ΠΈΡΡΠ° 1.0.y ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ Π²Π΅ΡΡΠΈΠΈΡΠ΅ 1.x.0 ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ ΠΊΠΎΠ΄Π°. ΠΠΎΠ²ΠΈ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠ»ΠΎΠ½, Π½Π° Π±Π°Π·Π° ΠΊΠΎΠΉΡΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΠ΅ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Crystal 2.0. ΠΡΠΊΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Crystal 1.0 ΡΠ° ΠΎΠ±ΡΠ²Π΅Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΈ, Π²ΡΠΏΡΠ΅ΠΊΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ ΠΈΠΌ Π² ΠΊΠ»ΠΎΠ½ 1.0, Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Ρ ΠΏΠΎΠ΄ ΠΎΡΠΈΡΠΈΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°. Π‘ΡΠ΅Π΄ ΡΠ΅Π·ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ° ΠΌΠΎΠ½ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡΠ°, ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Windows ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ARM.
ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Crystal ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° Ruby Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½Π° Π·Π° Π΅Π·ΠΈΠΊΠ° C. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ Π½Π° Crystal Π΅ Π±Π»ΠΈΠ·ΡΠΊ Π΄ΠΎ Ruby, Π½ΠΎ Π½Π΅ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ Π½Π΅Π³ΠΎ, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π½ΡΠΊΠΎΠΈ Ruby ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡΡ Π±Π΅Π· ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΠΎΠ΄ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Crystal ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· Apache 2.0.
Π Π΅Π·ΠΈΠΊΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ°ΡΠΈΡΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ²Π½ΠΎΡΠΎ ΠΏΠΎΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ΄Π°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π½Π° Crystal ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Ρ Π² ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Ρ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΎΡΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ°. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π½Π° Crystal Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° C. ΠΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠ΅Π· ΠΊΠ»ΡΡΠΎΠ²Π°ΡΠ° Π΄ΡΠΌΠ° βspawnβ, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ½ΠΎΠ²ΠΈ Π·Π°Π΄Π°ΡΠΈ Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊ, Π² ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π»Π΅ΠΊΠΈ ΠΏΠΎΡΠΎΡΠΈ, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ ΡΠΈΠ±ΡΠΈ (Fiber).
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π±ΠΎΠ³Π°Ρ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° CSV, YAML ΠΈ JSON, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° HTTP ΡΡΡΠ²ΡΡΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° WebSocket. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«crystal playΒ», ΠΊΠΎΡΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ localhost:8080) Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ Π½Π° Crystal.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- Π ΠΊΠΎΡΡΠ΅ΠΆΠΈΡΠ΅ Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ ΠΈΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΈΠΏΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: tuple = {1, "hello", 'x'} v = tuple[0..1] # ΡΠ΅ Π²ΡΡΠ½Π΅ {1, "hello"} typeof(v) # => Tuple(Int32, String)
- Π ΡΡΡΠΎΠΊΠΎΠ²ΠΈΡΠ΅ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΈ Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠΎΠ³Π°ΡΠ½ΠΈ ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π² escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ Unicode, ΠΊΠ°ΡΠΎ Β«\uD834Β». ΠΠ° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ»Π΅Π΄Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½ΠΎΡΠ°ΡΠΈΡΡΠ° Β«\xΒ».
- Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°ΡΡ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡΠ°, ΠΌΠ°ΠΊΡΠΎΡΠΈΡΠ΅ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±ΡΡ Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ. ΠΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΊΠ°ΡΠΎ Set, StaticArray#[], YAML.new, HTTP::Request, HTTP::WebSocket, Hash#delete_if, Process#kill ΠΈ Π΄Ρ.
- Π ΠΌΠ°ΠΊΡΠΎΡΠΈΡΠ΅ getter ΠΈ property Π²Π΅ΡΠ΅ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΡΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠΏΠ° Π½Π° Π²ΡΡΡΠ°Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ.
- ΠΠ΅ΡΠΎΠ΄ΡΡ Π·Π° Π·Π°ΠΊΡΡΠ³Π»ΡΠ½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ Π½Π° TIES_EVEN (Β«Π±Π°Π½ΠΊΠ΅ΡΡΠΊΠΎ Π·Π°ΠΊΡΡΠ³Π»ΡΠ½Π΅Β», Π΄ΠΎ Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΎΡΠΎ ΡΡΠ»ΠΎ ΡΠΈΡΠ»ΠΎ, Π° Π·Π° Π³ΡΠ°Π½ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π΄ΠΎ Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΎΡΠΎ ΡΠ΅ΡΠ½ΠΎ ΡΠΈΡΠ»ΠΎ). Π Number#round Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ RoundingMode, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° Π·Π°ΠΊΡΡΠ³Π»ΡΠ½Π΅. Π‘ΡΠ΅Π΄ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΡΠ°: TIES_EVEN, TIES_AWAY, TO_ZERO, TO_POSITIVE, TO_NEGATIVE.
- Π ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈΡΠ΅ Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Enumerable#flat_map ΠΈ Iterator#flat_map Ρ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅.
- ΠΡΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ Enum Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ Ρ Π΄ΠΎΠ»Π½Π° ΡΠ΅ΡΡΠ°.
- Π’ΠΈΠΏΠΎΠ²Π΅ΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π² ΠΌΠΎΠ΄ΡΠ»Π° XML, ΡΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»ΠΈ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° struct ΠΊΡΠΌ class.
- ΠΠΎ ΡΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Cookie, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Cookie (ΠΏΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΊΠΈΡΠ΅ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°). ΠΠ΅ΡΠΎΠ΄ΡΡ HTTP::Cookies.from_headers Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π° ΡΡΡΠ²ΡΡΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
