рд░реВрдмреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ 3.1 рдХрд╛ рд╡рд┐рдореЛрдЪрди

рд░реВрдмреА 3.1.0 рдЬрд╛рд░реА рдХреА рдЧрдИ, рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкрд░реНрд▓, рдЬрд╛рд╡рд╛, рдкрд╛рдпрдерди, рд╕реНрдореЙрд▓рдЯреЙрдХ, рдПрдлрд┐рд▓, рдПрдбрд╛ рдФрд░ рд▓рд┐рд╕реНрдк рдХреА рд╕рд░реНрд╡реЛрддреНрддрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдмреАрдПрд╕рдбреА ("2-рдХреНрд▓реЙрдЬ рдмреАрдПрд╕рдбреАрдПрд▓") рдФрд░ "рд░реВрдмреА" рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЬреАрдкреАрдПрд▓ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреАрдкреАрдПрд▓рд╡реА3 рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рд╣реИред

рдореБрдЦреНрдп рд╕реБрдзрд╛рд░:

  • рдПрдХ рдирдпрд╛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдЗрди-рдкреНрд░реЛрд╕реЗрд╕ JIT рдХрдВрдкрд╛рдЗрд▓рд░, YJIT, рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд░реВрдмреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╣рд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ Shopify рдИ-рдХреЙрдорд░реНрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд░реЗрд▓реНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрдИ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдПрдордЬреЗрдЖрдИрдЯреА рдЬреЗрдЖрдИрдЯреА рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗ рдореБрдЦреНрдп рдЕрдВрддрд░, рдЬреЛ рд╕рдВрдкреВрд░реНрдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рд╕реА рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдмрд╛рд╣рд░реА рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╛рдИрдЬреЗрдЖрдИрдЯреА рд▓реЗрдЬрд╝реА рдмреЗрд╕рд┐рдХ рдмреНрд▓реЙрдХ рд╡рд░реНрдЬрдирд┐рдВрдЧ (рдПрд▓рдмреАрдмреАрд╡реА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдПрдХреАрдХреГрдд рдЬреЗрдЖрдИрдЯреА рдХрдВрдкрд╛рдЗрд▓рд░ рд╢рд╛рдорд┐рд▓ рд╣реИред рдПрд▓рдмреАрдмреАрд╡реА рдХреЗ рд╕рд╛рде, рдЬреЗрдЖрдИрдЯреА рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рд╡рд┐рдзрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдХреА рдХреЛ рдХреБрдЫ рд╕рдордп рдмрд╛рдж рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЪрд░ рдФрд░ рддрд░реНрдХреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рджред YJIT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд░реЗрд▓рдмреЗрдВрдЪ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ 22% рдХреА рд╡реГрджреНрдзрд┐ рджрд░реНрдЬ рдХреА рдЧрдИ, рдФрд░ рд▓рд┐рдХреНрд╡рд┐рдб-рд░реЗрдВрдбрд░ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ 39% рдХреА рд╡реГрджреНрдзрд┐ рджрд░реНрдЬ рдХреА рдЧрдИред YJIT рд╡рд░реНрддрдорд╛рди рдореЗрдВ x86-64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдпреВрдирд┐рдХреНрд╕-рдЬреИрд╕реЗ OSes рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рддрдХ рд╕реАрдорд┐рдд рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИ (рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ "--ygit" рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ)ред
  • рдкреБрд░рд╛рдиреЗ рдПрдордЬреЗрдЖрдИрдЯреА рдЬреЗрдЖрдИрдЯреА рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рдиред рд░реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдзрд┐рдХрддрдо рдХреИрд╢ рдЖрдХрд╛рд░ (--рдЬрд┐рдЯ-рдореИрдХреНрд╕-рдХреИрд╢) рдХреЛ 100 рд╕реЗ рдмрдврд╝рд╛рдХрд░ 10000 рдирд┐рд░реНрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред 1000 рд╕реЗ рдЕрдзрд┐рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП JIT рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред рд░реЗрд▓реНрд╕ рдХреЗ рдЬрд╝реАрдЯрд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рд╕ рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЯреНрд░реЗрд╕рдкреЙрдЗрдВрдЯ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдЬреЗрдЖрдИрдЯреА рдХреЛрдб рдХреЛ рдЦрд╛рд░рд┐рдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдЗрд╕рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЛрдмрд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдбрд┐рдмрдЧ.рдЧреЗрдо рдбрд┐рдмрдЧрд░ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рд░рд┐рдореЛрдЯ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдбрд┐рдмрдЧ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдзреАрдорд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрдирдд рдбрд┐рдмрдЧрд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕ (VSCode рдФрд░ Chrome) рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдФрд░ рдорд▓реНрдЯреА-рдкреНрд░реЛрд╕реЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдПрдХ рдЖрд░рдИрдкреАрдПрд▓ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдЙрдиреНрдирдд рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреНрд╖рдорддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдФрд░ рд░реАрдкреНрд▓реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдбрд┐рдмрдЧрд░ lib/debug.rb рдХреЛ рдЖрдзрд╛рд░ рд╡рд┐рддрд░рдг рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
    рд░реВрдмреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ 3.1 рдХрд╛ рд╡рд┐рдореЛрдЪрди
  • рдХреЙрд▓ рдмреИрдХ рдЯреНрд░реЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рджреГрд╢реНрдп рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рд╕рдХреНрд╖рдо рдЬреЗрдо рдкреИрдХреЗрдЬ error_highlight рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреНрд░реБрдЯрд┐ рдлрд╝реНрд▓реИрдЧрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред рддреНрд░реБрдЯрд┐ рдлрд╝реНрд▓реИрдЧрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк "--disable-error_highlight" рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред $ рд░реВрдмреА рдЯреЗрд╕реНрдЯ.рдЖрд░рдмреА рдЯреЗрд╕реНрдЯ.рдЖрд░рдмреА:1:рдЗрди " ": 1:рдкреВрд░реНрдгрд╛рдВрдХ (NoMethodError) 1.рд╕рдордп {} ^^^^^ рдХреЗ рд▓рд┐рдП рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рдзрд┐ "рд╕рдордп" рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдерд╛? рдЯрд╛рдЗрдореНрд╕
  • рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЧрдгрдирд╛рдУрдВ рдХрд╛ рд╢реЗрд▓ рдЖрдИрдЖрд░рдмреА (рдЖрд░рдИрдкреАрдПрд▓, рд░реАрдб-рдПрд╡рд▓-рдкреНрд░рд┐рдВрдЯ-рд▓реВрдк) рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ, рдЗрдирдкреБрдЯ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдХреЗрдд рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмреАрдЪ рдЖрдк рдЯреИрдм рдпрд╛ рд╢рд┐рдлреНрдЯ + рдХреЗ рд╕рд╛рде рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЪрд╛рдмреА рджрдмрд╛рдПрдВ)ред рдирд┐рд░рдВрддрд░рддрд╛ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╛рд╕ рдореЗрдВ рдПрдХ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЪрдпрдирд┐рдд рдЖрдЗрдЯрдо рд╕реЗ рдЬреБрдбрд╝реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рдВрдкреВрд░реНрдг рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ Alt+d рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
    рд░реВрдмреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ 3.1 рдХрд╛ рд╡рд┐рдореЛрдЪрди
  • рднрд╛рд╖рд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрдм рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рд╣реИрд╢ рд╢рд╛рдмреНрджрд┐рдХ рдФрд░ рдХреАрд╡рд░реНрдб рддрд░реНрдХреЛрдВ рдореЗрдВ рдорд╛рдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "{x: x, y: y}" рдХреЗ рдмрдЬрд╛рдп рдЕрдм рдЖрдк "{x:, y:}" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ "foo(x: x, y: y)" рдХреЗ рдмрдЬрд╛рдп - foo( x:, y: )"ред
  • рдПрдХрд▓-рдкрдВрдХреНрддрд┐ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди (ary => [x, y, z]) рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рд╕рдорд░реНрдерди, рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдм рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдореЗрдВ "^" рдСрдкрд░реЗрдЯрд░ рдореЗрдВ рдЕрдм рдордирдорд╛рдиреЗ рднрд╛рд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a #= > ? [[3, 5], [5, 7], [11, 13]]
  • рдПрдХрд▓-рдкрдВрдХреНрддрд┐ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдореЗрдВ, рдЖрдк рдХреЛрд╖реНрдардХ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ: [0, 1] => _, x {y: 2} => y: x #=> 1 y #=> 2
  • рдЖрд░рдмреАрдПрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдПрдиреЛрдЯреЗрд╢рди рднрд╛рд╖рд╛, рдЬреЛ рдЖрдкрдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдиреЗ "<" рдкреНрд░рддреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдКрдкрд░реА рд╕реАрдорд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рд░рддреНрдиреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣, рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдФрд░ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рдирдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд▓рд╛рдЧреВ рдХрд┐рдПред
  • рдПрдХреАрдХреГрдд рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рдорд░реНрдерди рдХреЛ рдЯрд╛рдЗрдкрдкреНрд░реЛ рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд░рдмреАрдПрд╕ рдПрдиреЛрдЯреЗрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд╛рдЗрдкрдкреНрд░реЛ рдХреЛ рд╡реАрдПрд╕рд╕реАрдУрдбреА рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдб-рдСрди рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
  • рдПрдХрд╛рдзрд┐рдХ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреНрд░рдо рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдШрдЯрдХреЛрдВ "foo[0], bar[0] = baz, qux" рдХреЛ baz, qux, foo, bar рдХреНрд░рдо рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм foo, bar, baz, quxред
  • VWA (рд╡реИрд░рд┐рдПрдмрд▓ рдЪреМрдбрд╝рд╛рдИ рдЖрд╡рдВрдЯрди) рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЬреЗрдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрджреНрдпрддрди рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ред рдиреЗрдЯ-рдПрдлрд╝рдЯреАрдкреА, рдиреЗрдЯ-рдЗрдореИрдк, рдиреЗрдЯ-рдкреЙрдк, рдиреЗрдЯ-рдПрд╕рдПрдордЯреАрдкреА, рдореИрдЯреНрд░рд┐рдХреНрд╕, рдкреНрд░рд╛рдЗрдо рдФрд░ рдбрд┐рдмрдЧ рдкреИрдХреЗрдЬ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣реИрдВред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ