рдЧреБрдЗрдбреЛ рд╡рд╛рди рд░реЛрд╕рдо рд╕рдореБрджрд╛рдп рдХреЗ рд╡рд┐рдЪрд╛рд░рд╛рд░реНрде рдорд╕реМрджрд╛ рдкрд╛рдпрдерди рдореЗрдВ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдСрдкрд░реЗрдЯрд░ (рдореИрдЪ рдФрд░ рдХреЗрд╕) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдСрдкрд░реЗрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд╣рд▓реЗ рд╣реА 2001 рдФрд░ 2006 рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдЬрд╛ рдЪреБрдХреЗ рдереЗ (, ), рд▓реЗрдХрд┐рди рдорд┐рд▓рд╛рди рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП "рдпрджрд┐ ... рдпрджрд┐ ... рдЕрдиреНрдпрдерд╛" рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ред
рдирдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрдХрд╛рд▓рд╛, рд░рд╕реНрдЯ рдФрд░ F# рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдореИрдЪ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЬреЛ рдХреЗрд╕-рдЖрдзрд╛рд░рд┐рдд рдмреНрд▓реЙрдХ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдкреИрдЯрд░реНрди рдХреА рд╕реВрдЪреА рдХреЗ рд╡рд┐рд░реБрджреНрдз рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред C, Java рдФрд░ JavaScript рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕реНрд╡рд┐рдЪ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдореИрдЪ-рдЖрдзрд╛рд░рд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдСрдкрд░реЗрдЯрд░ рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдордирдорд╛рдиреЗ рдкрд╛рдпрдерди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдХрд╛рд░рдг рдХреЛрдб рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рднреА рдмрдврд╝рд╛рдПрдВрдЧреЗред .
def http_error(рд╕реНрдерд┐рддрд┐):
рдореИрдЪ рдХреА рд╕реНрдерд┐рддрд┐:
рдорд╛рдорд▓реЗ 400:
"рдЧрд▓рдд рдЕрдиреБрд░реЛрдз" рд▓реМрдЯрд╛рдПрдБ
рдорд╛рдорд▓рд╛ 401|403|404:
"рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ" рд▓реМрдЯрд╛рдПрдВ
рдорд╛рдорд▓реЗ 418:
"рдореИрдВ рдПрдХ рдЪрд╛рдпрджрд╛рдиреА рд╣реВрдБ"
рдорд╛рдорд▓рд╛_:
"рдХреБрдЫ рдФрд░" рд▓реМрдЯрд╛рдПрдБ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрд▓рдмреНрдз рдорд╛рдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪрд░реЛрдВ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдЯреНрдпреВрдкрд▓реНрд╕, рд╕реВрдЪрд┐рдпреЛрдВ рдФрд░ рдордирдорд╛рдиреЗ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдиреЗрд╕реНрдЯреЗрдб рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛, рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд "рдЕрдЧрд░" рд╢рд░реНрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдорд╛рд╕реНрдХ ("[x, y, *rest]") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдХреБрдВрдЬреА/рдорд╛рди рдЬреЛрдбрд╝реЗ рдХреЛ рдореИрдк рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП {"рдмреИрдВрдбрд╡рд┐рдбреНрде": b, "рд▓реЗрдЯреЗрдВрд╕реА": l} "рдмреИрдВрдбрд╡рд┐рдбреНрде" рдФрд░ "рд▓реЗрдЯреЗрдВрд╕реА" рдорд╛рди рдФрд░ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП), рдЙрдк-рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдирд┐рдХрд╛рд▓рдирд╛ (":=" рдСрдкрд░реЗрдЯрд░), рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдирд╛рдорд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдХрдХреНрд╖рд╛рдПрдВ "__match__()" рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд┐рд▓рд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдбреЗрдЯрд╛рдХреНрд▓рд╛рд╕ рд╕реЗ рдбреЗрдЯрд╛рдХреНрд▓рд╛рд╕ рдЖрдпрд╛рдд рдХрд░реЗрдВ
@рдбреЗрдЯрд╛рдХреНрд▓рд╛рд╕
рдХрдХреНрд╖рд╛ рдмрд┐рдВрджреБ:
x:рдЗрдВрдЯ
y:рдЗрдВрдЯ
def whereis(рдмрд┐рдВрджреБ):
рдореИрдЪ рдкреЙрдЗрдВрдЯ:
рдХреЗрд╕ рдкреЙрдЗрдВрдЯ(0, 0):
рдкреНрд░рд┐рдВрдЯ("рдореВрд▓")
рдХреЗрд╕ рдкреЙрдЗрдВрдЯ(0, y):
рдкреНрд░рд┐рдВрдЯ(f┬╗Y={y}┬╗)
рдХреЗрд╕ рдкреЙрдЗрдВрдЯ(x, 0):
рдкреНрд░рд┐рдВрдЯ(f┬╗X={x}┬╗)
рдХреЗрд╕ рдкреНрд╡рд╛рдЗрдВрдЯ():
рдкреНрд░рд┐рдВрдЯ("рдХрд╣реАрдВ рдФрд░")
рдорд╛рдорд▓рд╛_:
рдкреНрд░рд┐рдВрдЯ("рдХреЛрдИ рдмрд┐рдВрджреБ рдирд╣реАрдВ")
рдореИрдЪ рдкреЙрдЗрдВрдЯ:
рдХреЗрд╕ рдкреЙрдЗрдВрдЯ(x, y) рдпрджрд┐ x == y:
рдкреНрд░рд┐рдВрдЯ(f┬╗Y=X рдкрд░ {x}┬╗)
рдХреЗрд╕ рдмрд┐рдВрджреБ(x, y):
рдкреНрд░рд┐рдВрдЯ(f"рд╡рд┐рдХрд░реНрдг рдкрд░ рдирд╣реАрдВ")
рд▓рд╛рд▓, рд╣рд░рд╛, рдиреАрд▓рд╛ = 0, 1, 2
рд░рдВрдЧ рдорд┐рд▓рд╛рди:
рдорд╛рдорд▓рд╛.рд▓рд╛рд▓:
рдкреНрд░рд┐рдВрдЯ(┬лрдореБрдЭреЗ рд▓рд╛рд▓ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ!┬╗)
рдорд╛рдорд▓рд╛ .GREEN:
рдкреНрд░рд┐рдВрдЯ("рдШрд╛рд╕ рд╣рд░реА рд╣реИ")
рдХреЗрд╕ .рдиреАрд▓рд╛
E:
рдкреНрд░рд┐рдВрдЯ(тАЬрдореИрдВ рдЙрджрд╛рд╕ рдорд╣рд╕реВрд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ :(тАЬ)
рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдПрдХ рд╕реЗрдЯ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢, рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдЕрднреА рднреА рд╣реИ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЗ рд▓рд┐рдП "рдХреЗрд╕ _:" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрдЬрд╛рдп, "else:" рдпрд╛ "default:" рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ "_" рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, "if ... elif ... else" рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрд╛рдЗрдЯрдХреЛрдб рдореЗрдВ рдирдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЖрдВрддрд░рд┐рдХ рд╕рдВрдЧрдарди рдкреНрд░рд╢реНрди рдЙрдард╛рддрд╛ рд╣реИ, рдЬреЛ рддреБрд▓рдирд╛рдУрдВ рдХреЗ рдмрд╣реБрдд рдмрдбрд╝реЗ рд╕реЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рд╕реНрд░реЛрдд: opennet.ru
