2015 рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЖрдкрдХреА # 1 рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

"рдкреАрдПрд▓рдУ рдЕрдм рд╣рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рд░рд╛рдХреНрд╖рд╕реЛрдВ рд╕реЗ рдирд╣реАрдВ рдмрдЪрд╛ рдкрд╛рдПрдЧрд╛ред"



рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рджреЛ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рд╣реИрдВ - рд╕рдорд╛рдирддрд╛ (рдПрдХ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрди, рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ) рдФрд░ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ (рдХрджрдо-рджрд░-рдХрджрдо рдирд┐рд╖реНрдкрд╛рджрди, рдмрджрд▓реЗ рдореЗрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдХрд╛рд░реНрдп) рдФрд░, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдореБрдЭреЗ рд╕рд╣реА рд╢рдмреНрджреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЛ рддреЛрдбрд╝рдирд╛ рдерд╛ред

рдореИрдВ рдореВрд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХреЛрд╖реНрдардХ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджреЛрдВ рдпрд╛ рд╢рдмреНрджреЛрдВ рдХреА рдирдХрд▓ рдХрд░реВрдВрдЧрд╛, рддрд╛рдХрд┐ рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрджреЛрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓ рд╕рдХреЗ, рдЬреЛ рдХрд┐ рдХрдИ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реЛрдЧреАред


рд╢рд╛рдпрдж рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рддрд░рд╣ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реБрдиреА рд╣реЛ, рдЬреИрд╕реЗ: "рдХреНрд▓реЛрдЬрд░", "рд╕реНрдХрд╛рд▓рд╛", "рдПрд░рд▓рдВрдЧ" рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ "рдЬрд╛рд╡рд╛ рдореЗрдВ рдЕрдм рд▓реИрдореНрдмреНрдбрд╛ рд╣реИ"ред рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдПрдХ рджреВрд░ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рд╣реИред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рджрд╕реНрдп рд╣реИрдВ, рддреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдпрджрд┐ рдЖрдк Google рдХреЛ "рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ" рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗред рдкрд╣рд▓реЗ рдмрдирд╛рдИ рдЧрдИ рджреВрд╕рд░реА рднрд╛рд╖рд╛ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢рд╛рдорд┐рд▓ рдХрд░рддреА рд╣реИ, рдЗрд╕реЗ 50 рдХреЗ рджрд╢рдХ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рд▓рд┐рд╕реНрдк рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░, рдХреНрдпрд╛ рдирд░рдХ, рдпрд╣ рд╡рд┐рд╖рдп рдЕрднреА-рдЕрднреА рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЧрдпрд╛ рд╣реИ? рд╕рд┐рд░реНрдл 60 рд╕рд╛рд▓ рдмрд╛рдж?

рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдХрдВрдкреНрдпреВрдЯрд░ рдмрд╣реБрдд рдзреАрдореЗ рдереЗ



рдорд╛рдиреЛ рдпрд╛ рди рдорд╛рдиреЛ, рдХрдВрдкреНрдпреВрдЯрд░ DOM рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдзреАрдорд╛ рдереЗред рд╕рдЪ рдореЗрдВ рдирд╣реАрдВред рдФрд░ рдЙрд╕реА рд╕рдордп, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╕рдордЭреМрддреЗ рдореЗрдВ 2 рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдереЗ:




рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рд╕рднреА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдФрд░ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдирд╣реАрдВ рдереАред рдЗрд╕рд▓рд┐рдП рд▓рд┐рд╕реНрдк рдкрд╣рд▓реЗ рдердХрд╛ рд╣реБрдЖ рдерд╛, рдмреЗрд╣рдж рдзреАрдорд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рдерд╛ред рдпрд╣ рддрдм рдерд╛ рдХрд┐ рдЕрдирд┐рд╡рд╛рд░реНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА рдХрд╛ рдкреНрд░рднреБрддреНрд╡ рд╢реБрд░реВ рд╣реБрдЖ, рдЦрд╛рд╕рдХрд░ рд╕реА рдХреЗ рд╣реЗрдпрдб рдХреЗ рд╕рд╛рдеред

рд▓реЗрдХрд┐рди рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдореЗрдВ рдмрд╣реБрдд рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИред



рдЕрдм рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рдХрд┐рд╕ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдереЗред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЖрдЦрд┐рд░рдХрд╛рд░ рджреВрд╕рд░рд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛ред

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ 50.5



рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдПрдлрдЖрдИ рдХрд╛ рдкрд░рд┐рдЪрдп рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдЦрдВрдб рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд╛рдпреБрд╕реЗрдирд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЕрдзреНрдпрдпрди рдХреА рдЕрдкрдиреА рдпрд╛рддреНрд░рд╛ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред

рдЖрдк "рдлрдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ" рд╢рдмреНрдж рдХреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдЪреНрдЪрд╛рдИ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗ (рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╕реНрдХреВрд▓ рдкрд╛рдареНрдпрдХреНрд░рдо рд╕реЗ рдЬреА тИШ рдЬреА рдпрд╛рдж рд╣реИ? рдЕрдм рдпрд╣ рдХрд╛рдо рдЖрдПрдЧрд╛)ред рдпрд╣ рд╕рдм рд╣реИред

FP рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд╕реВрдЪреА (рдкреВрд░реНрдг рдирд╣реАрдВ):

  1. рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдХрд╛рд░реНрдп
  2. рд╣рд╛рдИ-рдСрд░реНрдбрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕
  3. рд╢реБрджреНрдз рдХрд╛рд░реНрдп
  4. рдмрдВрдж
  5. рдЕрдЪрд▓ рдЕрд╡рд╕реНрдерд╛


рдЕрдм рдЖрдкрдХреЛ рдЗрди рдЕрдЬреАрдм рд╢рдмреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдмрд╕ рд╕рдордЭреЗрдВ рдХрд┐ рдЙрдирдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред

рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЪрд░ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ:

var add = function(a, b){
  return a + b
}

рдЖрдкрдиреЗ рдЕрднреА рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ a рдФрд░ b рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ a + b рджреЗрддрд╛ рд╣реИ , рдФрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдРрдб рдЪрд░ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИ ред

рдЙрдЪреНрдЪ-рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдлрд╝рдВрдХреНрд╢рди рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рдлрд┐рд░ рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ:

document.querySelector('#button')
  .addEventListener('click', function(){
    alert('yay, i got clicked')
  })

рдпрд╛

var add = function(a){
  return function(b){
    return a + b
  }
}
 
var add2 = add(2)
add2(3) // => 5


рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЖрдкрдиреЗ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реЛ, рдЖрдкрдиреЗ рдХрд╣реАрдВ рдФрд░ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ред

рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдЪрд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЧрдгрд┐рдд рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╕рдВрджреАрджрд╛ рдХрд╛рд░реНрдпред рдпрд╣ рднреА рдорддрд▓рдм рд╣реИ рдЕрдЧрд░ рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ рдХрд┐ рдЪ рддрд░реНрдХ рдХреЗ рд╕рд╛рде 2 рдФрд░ рдпрд╣ рд░рд┐рдЯрд░реНрди 10 , рддреЛ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреА 10 ред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХреНрдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг, рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдХреНрд░рдоред рд╡реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреНрдп рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред

рд╢реЙрд░реНрдЯ рд╕рд░реНрдХрд┐рдЯ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рдЯрд░реНрди рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд░рд┐рдЯрд░реНрди рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдиреЗ рд░рдирдЯрд╛рдЗрдо рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

var add = function(a){
  return function(b){
    return a + b
  }
}
 
var add2 = add(2)
add2(3) // => 5

рдПрдХ рдЙрдЪреНрдЪ рдХреНрд░рдо рдХреЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВ , рдЪрд░ рдПрдХ рдмрдВрдж рдерд╛ рдФрд░ рдХреЗрд╡рд▓ рджрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрд▓реЛрдЬрд╝рд░ рдПрдлрдкреА рдкреНрд░рддрд┐рдорд╛рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдиреБрдХреВрд▓рди рд╣реИред

рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдирдП рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб (OCaml рдкрд░) рдореЗрдВ, рдЖрдк рдЪрд░ x рдХреЛ 5 рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ x рд╣рдореЗрд╢рд╛ 5 рд╣реЛрдЧрд╛ ред

let x = 5;;
x = 6;;

print_int x;;  (* prints 5 *)


рдпреЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдХрд╛рдлреА рдЕрдЬреАрдм рд▓рдЧ рд░рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЬрд▓реНрдж рд╣реА рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рд╡реЗ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВред

рдСрдмреНрдЬреЗрдХреНрдЯ рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЖрдк рдХрд┐рд╕реА рднреА рдЕрдзрд┐рдХ рдХреА рд░рдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ



рдпрд╣ рдПрдХ рдЖрд╢рд╛рдЬрдирдХ рд╕рдордп рд╣реИ рдЬрдм рд╣рдо рд╡рд┐рддрд░рд┐рдд рдФрд░ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рдЕрдВрдд рдореЗрдВ рдЖ рд╕рдХрддреЗ рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рд╣рдорд╛рд░рд╛ рдореМрдЬреВрджрд╛ (рдпрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛) рдореЙрдбрд▓ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ (рд╕рдорд╡рд░реНрддреА) рдФрд░ рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ AF рдХреА рдЙрдкрд░реНрдпреБрдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдпрд╛рдж рд╣реИрдВ? рд╢реБрджреНрдз рдХрд╛рд░реНрдп рдФрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЕрд╡рд╕реНрдерд╛? рдпрд╣ рд╕рд╣реА рд╣реИ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдХреЛрд░ рдпрд╛ рдорд╢реАрдиреЛрдВ рдкрд░ рд╣рдЬрд╛рд░реЛрдВ рдмрд╛рд░ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдПрдХ рдЬреИрд╕рд╛ рд░рд╣реЗрдЧрд╛ред рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╣рдо рдПрдХ рд╣реА рдХреЛрдб рдХреЛ рдПрдХ рд╣реА рдХреЛрд░ рдФрд░ рд╣рдЬрд╛рд░реЛрдВ рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬреАрд╡рди рдлрд┐рд░ рд╕реЗ рдмрд╛рджрд▓ рд░рд╣рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

"рд▓реЗрдХрд┐рди рдореИрдВ OOP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛?"



рдХрдо рд╕реЗ рдХрдо рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдФрд░ рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП, OOP рдЕрдм рдЖрдкрдХреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ OOP рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ (рдЕрдирд┐рд╡рд╛рд░реНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЬреЛ OOP рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ)ред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рддрдерд╛рдХрдерд┐рдд рддрд░реАрдХреЛрдВ рдХреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрд╡рдпрдВ рдпрд╛ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдЖрдкрдХреЛ рд╕рднреА рдереНрд░реЗрдбреНрд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЕрдкрдбреЗрдЯ рдФрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдореИрдВ рдпрд╣ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдПрдлрдкреА рдХреЛ рдЙрди рдкреНрд░рддрд┐рдорд╛рдиреЛрдВ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрджреЛрд▓рди рди рдХрд░реЗрдВ рдЬреЛ рдЖрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рдХрд╣реЗрдВрдЧреЗ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП), рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП: рдЬрд╛рд╡рд╛ рдФрд░ рд╕реА ++ 11 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓реИрдореНрдмреНрдбрд╛ рдкрдерд░реА рд╣реИред рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд▓рдЧрднрдЧ рд╕рднреА рдЖрдзреБрдирд┐рдХ рдФрд░ рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛рдПрдБ рдПрдлрдкреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реА рд╣реИрдВ рдпрд╛ рдкрд╣рд▓реЗ рд╣реА рдРрд╕рд╛ рдХрд░ рдЪреБрдХреА рд╣реИрдВред

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддреА рд░рд╛рдЬреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ (IO) рдЗрддреНрдпрд╛рджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрдкрдпреЛрдЧреА рд╣реЛрдВред рдПрдлрдкреА рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ: рдПрдХ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддреА рд░рд╛рдЬреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрдм рдХрд░реЗрдВ рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред

"рдореИрдВ рдмрд╛рджрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпрд╛ рдореБрдЭреЗ рд╡рд╛рдпреБрд╕реЗрдирд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?"



рд╣рд╛рдБред

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЖрдкрдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдФрд░ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реИред

"рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдпрд╣ рдХреЛрдб рдкрдврд╝рдирд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдФрд░ рдХрдард┐рди рд╣реИред тАЭ



рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдиреЗ OOP рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рднреА рдерд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдУрдУрдкреА рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрдкрдХреЗ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╕рд╛рди рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдореБрд╣рд╛рд╡рд░реЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдереЗ, рдЬреИрд╕реЗ рдХрд┐ рдЪрд░ рдФрд░ / рдЬрдмрдХрд┐ рд▓реВрдк рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ред

рдПрдлрдкреА рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдЙрд╕реА рддрд░рд╣ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ (рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдкрдиреЗ рдХреМрди рд╕реА рднрд╛рд╖рд╛ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдЕрд╕рдВрджрд┐рдЧреНрдз рд╣реЛрдЧрд╛ рдХрд┐ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рд╕реЗ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ)ред

рдХрдИ рд▓реЛрдЧ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд╛рдпреБрд╕реЗрдирд╛ рдкрдврд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдирд┐рд╡рд╛рд░реНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдиреБрднрд╡ рд╣реИ, рддреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреА рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред рдФрд░ рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдореБрдЦреНрдп рдореБрд╣рд╛рд╡рд░реЛрдВ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░, рдореМрд▓рд┐рдХ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рдмрд╛рдж, рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрдардиреАрдп рдмрди рдЬрд╛рдПрдВрдЧреЗред

рд╣рд╛рд╕реНрдХреЗрд▓ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЕрдирд┐рд╡рд╛рд░реНрдп рд╢реИрд▓реА) рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдо рджреЗрдЦреЗрдВ:

guess :: Int -> [Char]
guess 7 = "Much 7 very wow."
guess x = "Ooops, try again."

-- strongly inspired by http://learnyouahaskell.com

function guess(x){
  if(x == 7){
    return "Much 7 very wow."
  }
  else {
    return "Oops, try again."
  }
}

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

рд╣рд╛рд╕реНрдХреЗрд▓ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ:

рдпрджрд┐ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХреГрдд рддрд░реНрдХ 7 рд╣реИ, рддреЛ рдпрд╣ "рдмрд╣реБрдд 7 рдмрд╣реБрдд рд╡рд╛рд╣" рд▓реМрдЯрд╛рдПрдЧрд╛ред рдпрд╛ "Oooops, рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред" рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВред

рдФрд░ рдпрд╣ рд╡рд╣реА рдЪреАрдЬрд╝ рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рд┐рдд "рдкреИрдЯрд░реНрди" рдХреЗ рд▓рд┐рдП рд╣рд╛рд╕реНрдХреЗрд▓ рдореИрдк рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ / рдФрд░ред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдЖрдк рд╕реНрд╡рдпрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред

plus1 :: [Int] -> [Int]
plus1 []      = []
plus1 (x:xs)  = x + 1 : plus1 xs 

-- plus1 [0,1,2,3]
-- > [1,2,3,4]

рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ, * plus1 * рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреА рд╕реВрдЪреА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕реВрдЪреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдореЗрдВ 1 рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХреА рддреБрд▓рдирд╛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рд╕реВрдЪреА рдЦрд╛рд▓реА рд╣реЛрддреА рд╣реИ [] (рджреВрд╕рд░реА рдЦрд╛рд▓реА рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рддрддреНрд╡ рдирд╣реАрдВ рд╣реИрдВ) рдЧреИрд░-рд░рд┐рдХреНрдд рд╕реВрдЪреА рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдорд┐рд▓рд╛рди рдХреЗ рдкреИрдЯрд░реНрди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ: рд╕реВрдЪреА рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ x, рд╢реЗрд╖ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ xsред рдлрд┐рд░ рдпрд╣ рдмрд╕ рд░рд╛рд╢рд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк рдкрдардиреАрдпрддрд╛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдХреЛрдб рдХреЛ рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдорд┐рдирдЯ (рд╕рдмрд╕реЗ рд╕реБрдЦрдж рдирд╣реАрдВ), рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╢реИрд▓реА рдореЗрдВ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВрдЧреЗред

рддреЛ рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИ



рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрди рд▓рд┐рдВрдХ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП:

  1. рд╕реНрдХрд╛рд▓рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд : рдкрд╛рдареНрдпрдХреНрд░рдо рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬреЛ рдЬрд╛рд╡рд╛ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдЬреЗрд╡реАрдПрдо рд╕реЗ рдХреВрджрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдкрд╛рдареНрдпрдХреНрд░рдо рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред
  2. рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдкреНрд░рддрд┐рдорд╛рди - рдореВрд▓ рд╕реВрддреНрд░ : рдпрд╣ рдкрд╛рдареНрдпрдХреНрд░рдо рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдирд╛ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдкрд╛рдареНрдпрдХреНрд░рдо Qz рд╕реАрдЦрдиреЗ рдХреА рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрднреНрдпрд╛рд╕ рд╣реИрдВ, рдЖрдк рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдЦреБрдж рдХреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдХреЛрд░реНрд╕ "рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ" рдирд╛рдордХ "рдмрд┐рд▓реНрдбрд┐рдВрдЧ" рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЖрдкрдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░реЗрдЧрд╛ред


рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗрд╡рд▓ рд╡рд░реНрд╖ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЖрдк рд╕рд╛рдордЧреНрд░реА рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ Youtube рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рдЖрдк рдкрд╛рда рд╕рд╛рдордЧреНрд░реА рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ:

  1. рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛
  2. рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреИрд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░реЗрдВ
  3. рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ, рддрдХрдиреАрдХреЛрдВ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдореЙрдбрд▓


рдкрд╣рд▓реЗ рджреЛ рдореЗрдВ рд╕рдорд╛рди рдкрд╛рдареНрдпрдХреНрд░рдо рд╣реИрдВ, рдЖрдкрдХреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рд╣реИрдВред рд▓рд┐рдВрдХ рдХреЗ рддреАрд╕рд░реЗ, рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреИрд░рд╛рдбрд╛рдЗрдЬ рдореЗрдВ рдЗрд╕ рдХреЛрд░реНрд╕, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рдЕрдзрд┐рдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпреЗ рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рдкреНрд░рд╡реЗрд╢ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрд░рд┐рд╕ рдПрд▓рди рдиреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЕрдзреНрдпрдпрди рдкрд░ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ред рдЗрд╕реЗ рдлрдВрдХреНрд╢рдирд▓ рдПрдЬреБрдХреЗрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ редрдФрд░ рд╣рд╛рд╕реНрдХреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд╛рдХрдд рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдХреНрд░рд┐рд╕ рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП рд▓рд┐рдВрдХ рдХреЗ рдмрд╛рдж, рдЖрдк рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡рд┐рд╖рдпреЛрдВ (рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдореЛрдирдбреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ) рдХреЛ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдпрдж рдЖрдк рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡реЗрджрди рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИред (рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХреНрд░рд┐рд╕ред)

рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдирдП рд╕рд╛рд▓ рдХреЗ рд╕рд╛рде рд╢реБрднрдХрд╛рдордирд╛рдПрдБ! тШ║

Source: https://habr.com/ru/post/hi383551/


All Articles