Changeset 152
- Timestamp:
- 07/27/08 04:25:25 (16 years ago)
- Location:
- trunk/perl
- Files:
-
- 3 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/perl/Makefile
r150 r152 12 12 IMAGESPNG= 13 13 14 IMAGESJPG= 14 IMAGESJPG= \ 15 Angel_fish.jpg \ 16 tableau.jpg \ 17 hache.jpg 15 18 16 19 EXAMPLES = -
trunk/perl/presentation.tex
r151 r152 125 125 \end{frame} 126 126 127 \section{Variables} 128 129 \begin{frame} 130 \frametitle{types de variables} 131 \textbf{15} types de variables: 132 \vfill 133 \pause 134 \includegraphics[height=40mm]{Angel_fish} 135 \pause 136 \includegraphics[height=40mm]{tableau} 137 \pause 138 \includegraphics[height=40mm]{hache} 139 \pause 140 \vfill 141 Et les autres on s'en moque... 142 \end{frame} 143 144 \begin{frame}[fragile] 145 \frametitle{scalaire} 146 Un \textbf{scalaire} est une simple valeur: 147 \pause 148 \vfill 149 \begin{itemize} 150 \item \emph{undef} 151 \pause 152 \item définie: 153 \begin{itemize} 154 \item un chiffre, nombre 155 \item une chaine de caractères 156 \item une suite d'octets binaires 157 \item \ldots 158 \end{itemize} 159 \end{itemize} 160 \pause 161 \vfill 162 \begin{verbatim} 163 $rien = undef; 164 $chiffre = 42; 165 $chaine = "1"; 166 print $chaine + $chiffre; 167 print $chaine . $chiffre; 168 \end{verbatim} 169 \pause 170 \vfill 171 Valeur \textit{fausses}: \textit{undef}, 0, "" 172 173 Valeur \textit{vraies}: le reste: 1, "0", "un chien ?" 174 \end{frame} 175 176 \begin{frame}[fragile] 177 \frametitle{tableau (array)} 178 Les tableaux sont des piles de \textit{scalaires}. 179 \pause 180 181 Ils sont dynamiques, et a une seule dimension (mais ce n'est pas un problème en fait). 182 \pause 183 \vfill 184 Déclarer le tableau: 185 186 \verb+@tableau = ("un", 2);+ 187 \vfill 188 Accéder aux/Déclarer les valeurs d'un tableau (attention au \$): 189 190 \begin{verbatim} 191 $tableau[3] = 4; 192 $tableau[-1]; # dernier élément 193 \end{verbatim} 194 195 \pause 196 \vfill 197 Mais en fait:\hfill 198 \begin{tabular}{rcl} 199 shift <=&\verb+0@@@@@n+&<= push\\ 200 unshift =>&\verb+0@@@@@n+&=> pop\\ 201 \end{tabular} 202 \pause 203 \vfill 204 Nombre d'éléments: \verb+scalar(@tableau)+ 205 206 Dernier indice: \verb+$#tableau+ 207 \end{frame} 208 209 \begin{frame}[fragile] 210 \frametitle{hash} 211 Ce sont des tableaux indexés \verb+clef => valeur+. 212 213 Ils sont dynamiques. 214 215 \pause 216 \begin{itemize} 217 \item la clef est une valeur textuelle simple 218 \item la valeur est un \textbf{scalaire} 219 \item l'ordre des clefs n'est pas conservé !!! 220 \end{itemize} 221 222 \pause 223 Déclarer un tableau de hashage: 224 \begin{verbatim} 225 %hash = ( 226 foo => "un" 227 bar => 2 228 ); 229 \end{verbatim} 230 231 \pause 232 Accéder aux/Déclarer les valeurs d'un hash (attention au \$): 233 \begin{verbatim} 234 $hash{baz} = 'trois'; 235 $clef = 'clef'; 236 $hash{$clef}; 237 \end{verbatim} 238 239 \end{frame} 240 241 \begin{frame}[fragile] 242 \frametitle{Comprendre les listes} 243 \textbf{Perl aplati les listes !} 244 245 Le concept est simple, mais redoutable: 246 \pause 247 248 Prenons deux tableaux de trois entrées: 249 \begin{verbatim} 250 @tab1 = (1, 2, 3); 251 @tab2 = (4, 5, 6); 252 \end{verbatim} 253 \pause 254 255 Récupérer la première entrée, et le reste de \verb+@tab1+ 256 \begin{verbatim} 257 ($un, @reste) = @tab1; 258 \end{verbatim} 259 \pause 260 Récupérer la première entrée, et le reste de \verb+@tab1+ et \verb+@tab2+ 261 \begin{verbatim} 262 ($un, @reste) = (@tab1, @tab2); 263 \end{verbatim} 264 \pause 265 Récupérer la deuxième entrée, et le reste de \verb+@tab1+ et \verb+@tab2+ 266 \begin{verbatim} 267 (undef, $deux, @reste) = (@tab1, @tab2); 268 \end{verbatim} 269 \end{frame} 270 271 \begin{frame}[fragile] 272 \frametitle{Comprendre les listes: les hash} 273 Mais le pire, c'est que ce concept s'applique aussi \textbf{hash} 274 \pause 275 276 '\verb+=>+' est un séparateur comme la '\verb+,+', donc c'est une liste: 277 \begin{verbatim} 278 %hash = (un => 1, deux => 2); 279 %hash = (un, 1, deux, 2); 280 \end{verbatim} 281 \pause 282 Si un hash revois une liste et prends une liste\ldots 283 \begin{verbatim} 284 @tab = %hash; 285 \end{verbatim} 286 \verb+@tab+ contient "un", 1\ldots 287 288 \begin{verbatim} 289 @tab = (1, 2, 3, 4); 290 %hash = @tab; 291 \end{verbatim} 292 \verb+%hash+ contient 1 \verb+=>+ 2, 3 \verb+=>+ 4\ldots 293 294 Les clef dupliquées sont ecrasées, la dernière gagne ! 295 \end{frame} 296 127 297 \section*{Fin} 128 298
Note: See TracChangeset
for help on using the changeset viewer.