Changeset 173


Ignore:
Timestamp:
08/26/08 05:53:36 (16 years ago)
Author:
nanardon
Message:
  • beautify, add sort map and grep
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/perl/syntaxe.tex

    r171 r173  
    164164\end{block} 
    165165\end{frame} 
     166 
    166167 
    167168\subsection{Fonctions et subroutines} 
     
    242243\end{frame} 
    243244 
     245\subsection{Traitement sur les listes} 
     246 
     247\begin{frame}[fragile] 
     248\frametitle{sort} 
     249 
     250\begin{block}{Fonction de tri} 
     251Evalue la comparaison entre \verb+$a+ et \verb+$b+ 
     252 
     253Selon le résultat, l'une ou l'autre passe devant 
     254\end{block} 
     255\pause 
     256 
     257\vfill 
     258\begin{exampleblock}{} 
     259\begin{verbatim} 
     260my @tableau = ('010', '1', '12'); 
     261\end{verbatim} 
     262\end{exampleblock} 
     263\pause 
     264 
     265\vfill 
     266\begin{exampleblock}{tri numérique} 
     267\begin{verbatim} 
     268sort { $a <=> $b } @tableau; 
     269\end{verbatim} 
     270\end{exampleblock} 
     271\pause 
     272 
     273\vfill 
     274\begin{exampleblock}{tri alphabétique} 
     275\begin{verbatim} 
     276sort { $a cmp $b } @tableau; 
     277\end{verbatim} 
     278\end{exampleblock} 
     279\pause 
     280 
     281\vfill 
     282\begin{exampleblock}{tri numérique inverse} 
     283\begin{verbatim} 
     284sort { $b <=> $a } @tableau; 
     285\end{verbatim} 
     286\end{exampleblock} 
     287 
     288\end{frame} 
     289 
     290\begin{frame}[fragile] 
     291\frametitle{grep} 
     292\begin{block}{Fonction de filtre} 
     293Revois chaque valeur placée dans \verb+$_+ si la condition renvoyée est vraie 
     294\end{block} 
     295\pause 
     296 
     297\vfill 
     298\begin{exampleblock}{} 
     299 
     300 
     301\begin{verbatim} 
     302my @tableau = ('010', '1', '12'); 
     303\end{verbatim} 
     304\end{exampleblock} 
     305\pause 
     306 
     307\vfill 
     308\begin{exampleblock}{valeur vraie} 
     309\begin{verbatim} 
     310grep { $_ } @tableau; 
     311\end{verbatim} 
     312\end{exampleblock} 
     313\pause 
     314 
     315\vfill 
     316\begin{exampleblock}{avec une condition} 
     317\begin{verbatim} 
     318grep { $_ > 10 } @tableau; 
     319\end{verbatim} 
     320\end{exampleblock} 
     321\pause 
     322 
     323\vfill 
     324\begin{exampleblock}{sans utiliser \$\_} 
     325\begin{verbatim} 
     326my $vrai = 1 
     327grep { $vrai } @tableau; 
     328\end{verbatim} 
     329\end{exampleblock} 
     330\end{frame} 
     331 
     332\begin{frame}[fragile] 
     333\frametitle{map} 
     334\begin{block}{mappage des valeurs} 
     335Remplace chaque valeur par l'évaluation retournée 
     336 
     337Chaque valeur est placé dans \verb+$_+ 
     338\end{block} 
     339\pause 
     340 
     341\vfill 
     342\begin{exampleblock}{} 
     343\begin{verbatim} 
     344my @tableau = ('010', '1', '12'); 
     345\end{verbatim} 
     346\end{exampleblock} 
     347\pause 
     348 
     349\vfill 
     350\begin{exampleblock}{renvois chaque valeur + 1} 
     351\begin{verbatim} 
     352map { $_ + 1 } @tableau; 
     353\end{verbatim} 
     354\end{exampleblock} 
     355\pause 
     356 
     357\vfill 
     358\begin{exampleblock}{renvois chaque valeur et chaque valeur + 1} 
     359\begin{verbatim} 
     360map { $_, $_ + 1 } @tableau; 
     361\end{verbatim} 
     362\end{exampleblock} 
     363\end{frame} 
     364 
     365\begin{frame}[fragile] 
     366\frametitle{Combinaison pour la forme} 
     367 
     368\begin{exampleblock}{humpff\ldots} 
     369\begin{semiverbatim} 
     370my @communes = 
     371    \onslide<5->{# première lettre en majuscule} 
     372    map \{ ucfirst($\_) \} 
     373    \onslide<4->{# tri: ordre alphabétique} 
     374    sort \{ $a cmp $b \} 
     375    \onslide<3->{# filtre: première lettre est un m} 
     376    grep \{ substr($\_, 0, 1) eq 'm' \} 
     377    \onslide<2->{# une liste de villes} 
     378    ('nantes', 
     379     'mont de marsan', 'amiens', 'nancy', 'dijon', 
     380     'bordeaux', 'metz', bordeaux', 'bordeaux', ); 
     381\end{semiverbatim} 
     382\end{exampleblock} 
     383\end{frame} 
     384 
    244385\subsection{Déclarer ses variables} 
    245386 
     
    329470\begin{frame}[fragile] 
    330471\frametitle{boucles et blocs} 
    331 Pour les instruction qui engendre un bloc, les déclarations font partie du bloc: 
    332  
    333 \pause 
    334 Ici la variables \verb+$item+ apartiens au bloc \verb+foreach+: 
    335  
     472\begin{exampleblock}{limiter la portée en utilisant un bloc} 
     473\begin{verbatim} 
     474my $globalvar = 1; 
     475{ 
     476    my $blockvar = 2; 
     477} 
     478\end{verbatim} 
     479\end{exampleblock} 
     480\pause 
     481 
     482\begin{exampleblock}{Déclaration dans les boucles} 
    336483\begin{verbatim} 
    337484 
     
    342489} 
    343490\end{verbatim} 
    344  
    345 \end{frame} 
    346  
    347  
     491\end{exampleblock} 
     492\end{frame} 
     493 
     494 
Note: See TracChangeset for help on using the changeset viewer.