рдХрд┐рддрд╛рдм "рдХреЛрдЯрд▓рд┐рдиред рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ "

рдЫрд╡рд┐ рд╣рд╛рдп, рд╣рдмреНрд░реЛрдЬрд╝рд┐рддреЗрд▓реА! рдЬреЛрд╢ рд╕реНрдХрд┐рди рдФрд░ рдбреЗрд╡рд┐рдб рдЧреНрд░реАрдирд╣реЙрд▓ рдХреА рдкреБрд╕реНрддрдХ рдмрд┐рдЧ рдирд░реНрдб рд░реЗрдВрдЪ рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреЛрдЯрд▓рд┐рди рдЖрд╡рд╢реНрдпрдХ рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЬреНрд╡рд▓рдВрдд рдФрд░ рдЙрдкрдпреЛрдЧреА рдЙрджрд╛рд╣рд░рдг, рдкреНрд░рдореБрдЦ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдФрд░ рдореМрд▓рд┐рдХ рдПрдкреАрдЖрдИ рдХреА рд╕реНрдкрд╖реНрдЯ рд╡реНрдпрд╛рдЦреНрдпрд╛ рди рдХреЗрд╡рд▓ рдХреЛрдЯрд▓рд┐рди рднрд╛рд╖рд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╕рд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рдЕрдкрдиреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдФрд░ рд╕рд╛рде рд╣реА рдЖрдкрдХреЛ JetBrains IntelliJ IDEA рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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


рдпрд╣ рдкреБрд╕реНрддрдХ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣реИ?


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

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

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

рдЗрд╕ рдкреБрд╕реНрддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ


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

рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓рд╛ рдЕрдзреНрдпрд╛рдп рдкрд┐рдЫрд▓реЗ рдПрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд╣рдо рдЕрдзреНрдпрд╛рдпреЛрдВ рдХреЛ рд▓рдВрдШрди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдиреЗ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рд╡рд┐рд╖рдп рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдкрдврд╝рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ: рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХреА рдЬрд╛рддреА рд╣реИрдВред рд╣рдо рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рд╡рд┐рд╖рдпреЛрдВ рдЬреИрд╕реЗ рдЪрд░ рдФрд░ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рд╕рдордЭ рд╕рдХреЗрдВ рдХрд┐ рдХреЛрдЯрд▓рд┐рди рдХреЛ рдРрд╕рд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рдХреНрдпрд╛ рдмрдирд╛рддрд╛ рд╣реИред рдкреБрд╕реНрддрдХ рдХреЗ рдЕрдВрдд рддрдХ, рдЖрдк рдХреЛрдЯрд▓рд┐рди рдкрд░ рдПрдХ рдЙрдиреНрдирдд рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗред

рд╣рдо рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЬрд▓реНрджреА рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рд╡рд┐рдХрд╛рд╕, рд▓рд┐рдВрдХ рдкрд░ рдХреЛрдЯрд▓рд┐рди рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: kotlinlang.org/docs/reference , рдЬрд╣рд╛рдВ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рджреМрд░рд╛рди рдЙрдардиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рд╣реИрдВред

рдЕрдВрд╢ред рд╡рд┐рд╕реНрддрд╛рд░


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

рдХреЛрдЯрд▓рд┐рди рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдХреНрд╕рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдиреЗ рдЕрдзреНрдпрд╛рдп 9 рдореЗрдВ рдЬреЛ рдорд╛рдирдХ рдХрд╛рд░реНрдп рд╕реАрдЦреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдЖрдкрдХреЛ рдЙрдирдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред

рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рдПрдХ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ NyetHack рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЬреНрдЮрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЦреЛрд▓реЗрдВ рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕.kt рдирд╛рдордХ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВред

рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдорд╛рд░реЛрд╣ рдШреЛрд╖рдгрд╛


рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЖрдкрдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЙрддреНрд╕рд╛рд╣ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕.kt рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 18.1ред рдкреНрд░рдХрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛрдбрд╝рдирд╛ (рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕.kt)

fun String.addEnthusiasm(amount: Int = 1) = this + "!".repeat(amount) 

рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рддрд░рд╣ рд╣реА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде: рдЬрдм рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдкреНрд░рдХрд╛рд░ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝рддрд╛ рд╣реИред (рдЕрдзреНрдпрд╛рдп 9 рдХреЛ рдпрд╛рдж рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рд╣рдордиреЗ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдЯрд╛рдЗрдкреНрд╕ рдХреЛ "рд░рд┐рд╕реАрд╡рд░реНрд╕" рдХрд╣рд╛ рд╣реИред) AddEnthusiasm рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред

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

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 18.2ред рд╕реНрдЯреНрд░рд┐рдВрдЧ рд░рд┐рд╕реАрд╡рд░ рдСрдмреНрдЬреЗрдХреНрдЯ (Extensions.kt) рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЙрд▓ рдХрд░рдирд╛

 fun String.addEnthusiasm(amount: Int = 1) = this + "!".repeat(amount) fun main(args: Array<String>) { println("Madrigal has left the building".addEnthusiasm()) } 

Extensions.kt рдЪрд▓рд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рдВрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдЪрд┐рд╣реНрди рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд░рд╛рджрд╛ рд╣реИред

рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЙрдк-рд╡рд░реНрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? IntelliJ рдореЗрдВ, рдЦреЛрдЬ рдПрд╡рд░реАрд╡реЗрдпрд░ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ Shift рдХреБрдВрдЬреА рджрдмрд╛рдХрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдШреЛрд╖рдгрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рджреЗрдЦреЗрдВ рдФрд░ рдЦреЛрдЬ рдмреЙрдХреНрд╕ рдореЗрдВ "String.kt" рджрд░реНрдЬ рдХрд░реЗрдВред рдЖрдк рдЗрд╕ рд╡рд░реНрдЧ рдХреА рдШреЛрд╖рдгрд╛ рджреЗрдЦреЗрдВрдЧреЗ:

 public class String : Comparable<String>, CharSequence { ... } 

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

рд╕реБрдкрд░рдХреНрд▓рд╛рд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдШреЛрд╖рдгрд╛


рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рд░рд╛рд╕рдд рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧреБрдВрдЬрд╛рдЗрд╢ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕.kt рдореЗрдВ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ: рдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ рдирд╛рдо easyPrint рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреАред рдЪреВрдВрдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рд╕реА рднреА рдХреЗ рд▓рд┐рдП рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рдореБрдЦреНрдп рд░реВрдк рд╕реЗ, рдкреНрд░рд┐рдВрдЯрд▓рд╛рдЗрди рдлрдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд╕реНрдЯреНрд░реАрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдХреЙрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 18.3ред рдХреЛрдИ рднреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдПрдХреНрд╕рдЯреЗрдВрд╢рди)

 fun String.addEnthusiasm(amount: Int = 1) = this + "!".repeat(amount) fun Any.easyPrint() = println(this) fun main(args: Array<String>) { println("Madrigal has left the building".addEnthusiasm()).easyPrint() } 

Extensions.kt рдЪрд▓рд╛рдПрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

рдЪреВрдВрдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдмрдЯрд╛рдЗрдкреНрд╕ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред Int рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЙрд▓ рдЬреЛрдбрд╝реЗрдВред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 18.4ред easyPrint рд╕рднреА рдЙрдкрдкреНрд░рдХрд╛рд░реЛрдВ (рдПрдХреНрд╕рдЯреЗрдВрд╢рди) рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ

 fun String.addEnthusiasm(amount: Int = 1) = this + "!".repeat(amount) fun Any.easyPrint() = println(this) fun main(args: Array<String>) { "Madrigal has left the building".addEnthusiasm().easyPrint() 42.easyPrint() } 

рдЬреЗрдиреЗрд░рд┐рдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рдВрдХреНрд╢рдВрд╕


рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЖрдк addEnthusiasm рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ "Madrigal рдиреЗ рдЗрдорд╛рд░рдд рдЫреЛрдбрд╝ рджреА рд╣реИ" рд▓рд╛рдЗрди рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪреЗрди рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ easyPrint рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛рдПрдВ рджреЗрдЦреА рд╣реИрдВ: рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЪреЗрди рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╡реЗ рдПрдХ рд░рд┐рд╕реАрд╡рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╣реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЪреЗрдВрдЬрд┐рдВрдЧ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдкреНрд░реАрдкреНрд░рд┐рдВрдЯ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 18.5ред рдЪреЗрдВрдЬрд┐рдВрдЧ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдмрджрд▓реЗрдВ (рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕.kt)

 fun String.addEnthusiasm(amount: Int = 1) = this + "!".repeat(amount) fun Any.easyPrint()= println(this): Any { println(this) return this } ... 

рдЕрдм рдкрд╣рд▓реЗ рд╕реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ addEnthusiasm: easyPrint рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЛ рдмрд╛рд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 18.6ред рджреЛ рдмрд╛рд░ рдЖрд╕рд╛рди рдХреЙрд▓ рдХрд░реЗрдВ (рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕.kt)

 fun String.addEnthusiasm(amount: Int = 1) = this + "!".repeat(amount) fun Any.easyPrint(): Any { println(this) return this } fun main(args: Array<String>) { "Madrigal has left the building".easyPrint().addEnthusiasm().easyPrint() 42.easyPrint() } 

рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдкрд╣рд▓реЗ рдЖрд╕рд╛рди рдХреЙрд▓ рдХреА рдЕрдиреБрдорддрд┐ рдереА, рд▓реЗрдХрд┐рди addEnthusiasm рдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреЗрдВ: easyPrint рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ Control-Shift-P (Ctrl-P) рджрдмрд╛рдПрдВ рдФрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рд╕реВрдЪреА рдореЗрдВ рд╕реЗ, рдкрд╣рд▓реЗ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ: ("Madrigal рдиреЗ рдЗрдорд╛рд░рдд рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред .yyPrint ()")ред (рдЪрд┐рддреНрд░ред 18.1)ред

EasyPrint рдлрд╝рдВрдХреНрд╢рди рд╡рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред AddEnthusiasm рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ easyPrint рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдорд╛рди рдкрд░ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЫрд╡рд┐

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред EasyPrint рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЛ рдХрд┐рд╕реА рдХреЗ рдмрдЬрд╛рдп рд╕реНрд╡реАрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 18.7ред рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдЖрд╕рд╛рдирдкреНрд░рд┐рдВрдЯ (рдПрдХреНрд╕рдЯреЗрдВрд╢рди)

 fun String.addEnthusiasm(amount: Int = 1) = this + "!".repeat(amount) fun <T> AnyT.easyPrint(): AnyT { println(this) return this } ... 

рдЕрдм, рдЬрдм рд╡рд┐рд╕реНрддрд╛рд░ рд░рд┐рд╕реАрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдкреНрд░рдХрд╛рд░ рдЯреА рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдХреЗ рдмрдЬрд╛рдп рдЯреА рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рд┐рд╕реАрд╡рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ (рдЫрд╡рд┐ 18.2) рд╕реЗ рдиреАрдЪреЗ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдЫрд╡рд┐

рдлрд┐рд░ рд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдЗрд╕ рдмрд╛рд░ рд▓рд╛рдЗрди рджреЛ рдмрд╛рд░ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдЧреА:

 Madrigal has left the building Madrigal has left the building! 42 

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

рдХреЛрдЯрд▓рд┐рди рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, let рдлрд╝рдВрдХреНрд╢рди рдХреА рдШреЛрд╖рдгрд╛ рдХреЛ рджреЗрдЦреЗрдВ:

 public inline fun <T, R> T.let(block: (T) -> R): R { return block(this) } 

рдЪрд▓реЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рд╕рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд▓рдВрдмреЛрджрд░ рд▓реЗрддрд╛ рд╣реИ рдЬреЛ рд░рд┐рд╕реАрд╡рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рддрд░реНрдХ (рдЯреА) рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдирдП рдкреНрд░рдХрд╛рд░ рдЖрд░ рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдЗрдирд▓рд╛рдЗрди рдХреАрд╡рд░реНрдб рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдЬреЛ рд╣рдордиреЗ рдЕрдзреНрдпрд╛рдп 5 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛ рдерд╛ред рд╡рд╣реА рд╕рд▓рд╛рд╣ рдЬреЛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рджреА рдереА, рдпрд╣рд╛рдБ рд▓рд╛рдЧреВ рд╣реИ: рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрдВрдХреНрд╢рди рдХреЛ рдмрд┐рд▓реНрдЯ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛, рдпрджрд┐ рдпрд╣ рд▓реИрдореНрдмрдбрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореЗрдореЛрд░реА рдХреА рд▓рд╛рдЧрдд рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред

┬╗рдкреБрд╕реНрддрдХ рдХреА рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдХрд╛рд╢рдХ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ
┬╗ рд╕рд╛рдордЧреНрд░реА
┬╗ рдЕрдВрд╢

рдЦрд╛рдмрд░реЛрдЬрд┐рдЯреЗрд▓ рдХреЗ рд▓рд┐рдП рдХреВрдкрди рдкрд░ 25% рдХреА рдЫреВрдЯ - рдХреЛрдЯрд▓рд┐рди
рдкреБрд╕реНрддрдХ рдХреЗ рдкреЗрдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рднреБрдЧрддрд╛рди рдкрд░, рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдкреБрд╕реНрддрдХ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред

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


All Articles