рдЯреНрд░рд┐рдХреА рдкрд░реНрд▓ рдХреНрд╡реАрди

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

рдЫрд╡рд┐

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ /tmp/quine.pl рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ

Illegal division by zero at /tmp/quine.pl line 1. 

рдЗрд╕реЗ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдВ

 perl /tmp/quine.pl 

рдФрд░ рд╡рд╣ рдЕрдкрдиреЗ рдХреЛрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧреАред

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

  File "quine.py", line 1 File "quine.py", line 1 ^ IndentationError: unexpected indent 

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

рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреВрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ?

рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЛрддреА-рдмрд╛рд░ рдбреВ-рд╡реНрд╣рд╛рдЯ-рдЖрдИ-рдореАрди-рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

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

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

рдлрд┐рд░ рд╢рдмреНрджреЛрдВ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?

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

рдкрд░реНрд▓ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдзрд┐ рдХреЙрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ " рдЗрдирдбрд╛рдпрд░реЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ " рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ

 print $filehandle "message"; my $instance = new Class(args); 

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд░реНрд▓ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмреЗрд╣рддрд░ рд╣реИ:

 $filehandle->print("message"); my $instance = Class->new(args); 

рдкреЗрд░реНрд▓реЛрдмреНрдЬ рдкреНрд░рд▓реЗрдЦрди рдХрд╣рддрд╛ рд╣реИ:

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

 pl line 1. 

рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛

 line->pl(1.) 

рдЬрд╣рд╛рдБ рд▓рд╛рдЗрди рдкреИрдХреЗрдЬ (рдХреНрд▓рд╛рд╕) рдХрд╛ рдирд╛рдо рд╣реИ, рдФрд░ pl рд╡рд┐рдзрд┐ рд╣реИред

рдмреАрдЪ рдореЗрдВ, "at", "tmp" рдФрд░ "quine" рдХреЛ рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рд▓рд╛рдЗрдиред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

 (("at" / "tmp") / "quine") . line->pl(1.) 

рдмрд╛рдИрдВ рдУрд░ рджреЛ рддрд╣ рдкрд░реЛрдХреНрд╖ рд╡рд┐рдзрд┐ рдХреЙрд▓ рд╣реИрдВ,

 division->Illegal(zero->by( ... )) 

рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЖрдВрддрд░рд┐рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ:

 "at" / "tmp" 

рдФрд░ рдпрд╣ рддреБрд░рдВрдд рд╢реВрдиреНрдп рдЕрдкрд╡рд╛рдж рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

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


All Articles