Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexander Temerev                    2:400/520.5    22 Nov 2003  22:06:02
 To : All
 Subject : Так, для развлечения
 -------------------------------------------------------------------------------- 
 
 
   Откопал на PerlMonks премилую штуку. Я такое вижу впервые. Это анимированный
 quine. Программа, которая распечатывает свой листинг, анимирует его (в виде
 крутящейся спирали) так, что каждый кадр - это корректная программа, которая
 может опять-таки продолжить себя распечатывать.
 
   Версия для UNIX (использует clear для очистки экрана):
 
 #!/usr/bin/perl
 $_='
          $q ="\                   47"; wh
         ile                           ($ ;=
       $z                +=              .5 ){
     %c=           $r=0;$/ ="";whi         le(2
    0+          $z>($;+=.05)){$c{int$       _+ 2
   6+         2*($              r+= .0       2) *
  s          in$                   ;}{1       -$_
 +1         0+           int        $r*c       o s
 $         ;}         =1for(0.       .1)        }$
 t        =r         ever se;$        /.        =`
 c        le        ar     `.         "         #!
 /        usr       /bi             n/         pe
 rl       \n\       $_ =$q        \n"          ;
 fo        r$y        (1..20){$c{$_}          {
 $ y       }? $         /.=chop$t            :
  ($/        . ="                          \4
  0")         for(0.                    .53)          ;
    $/.        ="\n"}pri            nt"$/$          q;
    s; ".         chr(9 2)."s;;g;eval\n           "}
 
 ';s;\s;;g;eval
   Версия для Windows (использует cls для очистки экрана):
 
 #!/usr/bin/perl
 $_='
       $q=                              "\4 7"
     ;wh            ile($;=$z+=.5          ){ %c
   =$r          =0;$/="";while(  21+$        z> (
  $;         +=.05))           {$c{i nt        $ _+
 26         +2*(                   $r+=.        0 1
 9         )*s                       in $;       }{1
 -        $_         +10+int$r*c       os$;      }=1
         f         or(0..1)}$t=re       v e       r s
        e;        $/.         =`cl       s`        ."
       #!        /u       sr   /bi       n/        pe
       rl       \n\      $_=$q\n"        ;f        or
       $y       (1.       .20){         $c        {$
       _ }       { $y                  }?         $
        /.=       chop$              t:(         $/
 .      ="\4       0")for(       0..53          );
 $       /.="        \n"}system("cls           ")
 ;p       ri nt          "$/$q;s            ;".
 c h        r(92)                         ."s;
  ; g;       eva l\n"                  }
 
 ';s;\s;;g;eval
   Учитесь, как надо!
 
 Alexander Temerev [Everything]
 
 --- "Спящий красавэц" - Грузынский народный сказка об импотэнте.
  * Origin: http://www.livejournal.com/users/sorhed (2:400/520.5)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Так, для развлечения   Alexander Temerev   22 Nov 2003 22:06:02 
 Так, для развлечения   Dmitry Diskin   23 Nov 2003 11:53:39 
 Так, для развлечения   Alexander Temerev   23 Nov 2003 16:37:19 
 Re: Так, для развлечения   Nick Kostirya   26 Nov 2003 11:54:11 
 Так, для развлечения   Alexander Temerev   26 Nov 2003 23:18:11 
 Re: Так, для развлечения   Nick Kostirya   27 Nov 2003 12:30:21 
Архивное /ru.perl/27293fbfa704.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional