Commit 452b9baf authored by Rémy Huet's avatar Rémy Huet 💻

Les tableaux

parent dde517a3
Pipeline #33594 passed with stage
in 18 seconds
......@@ -229,3 +229,56 @@ Le premier paramètre est \Pause
On en reparlera quand on saura utiliser les boucles, pour faire ça proprement
\end{block}
\end{frame}
\begin{frame}[fragile]{Les tableaux}{Créer et lire un tableau}
\begin{block}{Contexte}
En bash, on peut également délarer des tableaux. Ce sont des variables un peu spéciales, qui contiennent plusieurs valeurs référencées par un {\bf index}
\end{block}
\begin{block}{Déclarer un tableau}
Pour décaler un tableau, on utilise la syntaxe \texttt{nom=(val0 val1 val3)} {\tiny\it (on peut évidement mettre plus de 3 valeurs)}
\end{block}
\begin{block}{Accéder à une valeur}
Les valeurs stockées dans un tableau possèdent un \textbf{index} qui permet de les lire. Cet index \textbf{commence à 0}.
La syntaxe pour lire une valeur est \verb+${nom[index]}+. On peut également utiliser \verb+${nom[*]}+ pour afficher toutes les valeurs ayant un index numérique.
\end{block}
\end{frame}
\begin{frame}[fragile]{Les tableaux}{Modifier un tableau}
\begin{block}{Ajouter ou modifier une valeur}
La syntaxe \texttt{nom[index]} permet également d'ajouter ou de modifier une valeur.
On peut alors créer la valeur correspondante, ou modifier celle dèjà présente, en écrivant \verb+nom[index]=valeur+
\end{block}
\begin{exampleblock}{Quels index ?}
Les index ne sont pas forcément une valeur numérique (de toute façon, bash ne fait pas la distinction). Ils le seront uniquement dans le cas où on déclare le tableau avec \texttt{nom=(val val)}. Sinon, on peut mettre \textbf{ce qu'on veut}
\end{exampleblock}
\end{frame}
\begin{frame}[fragile]{Les tableaux}{Exemple}
On ecrit dans \texttt{script.sh} :
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\begin{Verbatim}
#!/bin/bash
mon_tableau=(toto titi)
echo ${mon_tableau[0]} ${mon_tableau[1]}
echo ${mon_tableau[*]}
mon_tableau[mon_index]=tata
echo ${mon_tableau[mon_index]}
mon_tableau[0]=tutu
echo ${mon_tableau[*]}
\end{Verbatim}
\end{beamercolorbox}
On exécute, et on obtient:
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\vspace{-7pt}
\begin{Verbatim}
toto titi
toto titi
tata
tutu titi
\end{Verbatim}
\end{beamercolorbox}
\begin{exampleblock}{Remarque}
On remarque qu'il y a bien une valeur dans \verb+mon_tableau[mon_index]+ mais qu'on ne la récupère pas avec la syntaxe *
\end{exampleblock}
\end{frame}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment