Array : Différence entre versions

De Design numérique
Aller à : navigation, rechercher
Ligne 25 : Ligne 25 :
 
Un Array est comme une variable, à cela de différent qu'elle en contient plusieurs sous forme de "case" .  
 
Un Array est comme une variable, à cela de différent qu'elle en contient plusieurs sous forme de "case" .  
  
Par exemple je vais écrire dans mon terminal tableau=('Roger' 'Pierre' 'Yves')
+
Par exemple je vais écrire dans mon terminal  
  
La case 1 de mon tableau contient le nom "Pierre" (car les cases sont comptées à partir de 0) Si l'ont veut que ça soit ma case 6 qui contienne le nom "Pierre" il faut écrire dans le terminal tableau[6]='Pierre' - les cases de 0 (Roger) à 6 (Pierre) n'existeront donc pas puisqu'elles sont vides.  
+
tableau=('Roger' 'Pierre' 'Yves')
 +
 
 +
La case 1 de mon tableau contient le nom "Pierre" (car les cases sont comptées à partir de 0) Si l'ont veut que ça soit ma case 6 qui contienne le nom "Pierre" il faut écrire dans le terminal  
 +
 
 +
tableau[6]='Pierre'  
 +
 
 +
Les cases de 0 (Roger) à 6 (Pierre) n'existeront donc pas puisqu'elles sont vides.  
  
 
En cas de trou de mémoire, on peut afficher l’ensemble des valeurs de l'Array grâce à la commande  
 
En cas de trou de mémoire, on peut afficher l’ensemble des valeurs de l'Array grâce à la commande  
  
${tableau[*]}  
+
${tableau[*]}  
  
 
Ensuite il faut entrer dans le nano, lui dire qu'on lui parle en bash (#!/bin/bash en première ligne)  
 
Ensuite il faut entrer dans le nano, lui dire qu'on lui parle en bash (#!/bin/bash en première ligne)  
 
Retour à la ligne et lancer un compteur partant de la valeur 0. Vous pouvez écrire par exemple  
 
Retour à la ligne et lancer un compteur partant de la valeur 0. Vous pouvez écrire par exemple  
  
i=0
+
i=0
for i in $(cut -d: -f1 nomscommuns.txt); do
+
for i in $(cut -d: -f1 nomscommuns.txt)
 +
do
  
 
On défini sur quel fichier va se baser notre procédure, ici l'ont commence par les noms communs préalablement stocké dans le fichier .txt nommé "nomscommuns" et que chaque éléments, chaque noms, sortant de ce tableaux va être placés dans un rang nommé ici par la lettre "i" grace à la ligne suivante  
 
On défini sur quel fichier va se baser notre procédure, ici l'ont commence par les noms communs préalablement stocké dans le fichier .txt nommé "nomscommuns" et que chaque éléments, chaque noms, sortant de ce tableaux va être placés dans un rang nommé ici par la lettre "i" grace à la ligne suivante  
  
tab[$j]=$i
+
tab[$j]=$i
  
puis on  incrémente le compteur pour créer une nouvelle case la prochaine fois en terminant par  
+
Puis on  incrémente le compteur pour créer une nouvelle case la prochaine fois en terminant par  
  
j=$j+1  
+
j=$j+1  
done
+
done
  
 
La suite : le programme va demander une petite participation à l’utilisateur qui va lui même choisir par quelle lettre il veut commencer sa phrase, ce qui se traduit par la ligne de commande "echo "Saisir une lettre en débutant par une minuscule" "
 
La suite : le programme va demander une petite participation à l’utilisateur qui va lui même choisir par quelle lettre il veut commencer sa phrase, ce qui se traduit par la ligne de commande "echo "Saisir une lettre en débutant par une minuscule" "
Ligne 63 : Ligne 70 :
 
On anime le tout d'un petit compteur  
 
On anime le tout d'un petit compteur  
  
compteur=3
+
compteur=3
  
while [[ $compteur -ge 0 ]]
+
while [[ $compteur -ge 0 ]]
do
+
do
 
         echo -e
 
         echo -e
 
         echo $compteur
 
         echo $compteur
 
         sleep 1
 
         sleep 1
 
         compteur=$((compteur-1))
 
         compteur=$((compteur-1))
done
+
done
  
 
Ensuite on demande à l'utilisateur d'écrire l'un des sujet proposé (echo "saisir un des sujet proposés")
 
Ensuite on demande à l'utilisateur d'écrire l'un des sujet proposé (echo "saisir un des sujet proposés")

Version du 20 novembre 2018 à 15:22

Cet article aurait put avoir comme titre le nom d'un dictionnaire participatif crée au courant du début du 21ème siècle, plus précisément en l'an de grâce 2k18, appelé aussi an 17 post Iphone 1 dont l'on connais aujourd'hui l’enjeu primordial dans notre société néo-primitive. L'histoire nous raconte que, perturbée par l'usage prophétique d'un certain nombre de termes durant la première année de son cursus Lena Bruyère créa l'Alphabet Référentiel des Techniques et Maîtrises à l'Usage des Résidents De l'Erg Rassemblant et Articulant Tout les Outils de Recherche. Nom de code "Artmurderator" soit en traduction latine "Quæ occidis es" - ce qui tue.

Loin d'une quelconque volontés vindicative par rapport à ces faits : l'Artmurderator se voulait d’abord être un outil récréatif, permettant à quiconque de créer en quelque clics une phrase faisant rougir les commissaires d’expositions, une scénographie linguistique à ressortir lors des examinations en laissant pantois les auditeurs les plus pointilleux.


Voilà comment, grâce à votre dictionnaire personnalisé, vous pouvez, vous aussi, créer les prémisses de cet outil :

La première étape est de créer plusieurs fichiers .txt des mots que vous désirez utiliser pour votre propre Artmurderator (chaque noms, adjectifs ou groupe nominaux devant être séparé par un retour à la ligne)

- le premier comportant les sujets ou les groupes nominaux sélectionné, par exemple : " la cosmogonie, l’expérimentation permanente, le workshop, la galerie, le système de médiatisation du réel, et cætera..."

- le deuxième rassemblant les adjectifs tels que " expérimental, linéaire, anti-académique, autoréférentiel, clivant,..." ou bien d'autres.

- Dans le troisième il faudrait y lister des verbes conjugués au participe présent "interrogeant, restituant, critiquant, corroborant,..."

- Et enfin, dans le dernier, un ultime groupe nominal qui pulse. "La prolifération de nos spectres intimes, la restitution de sois-même, les enjeux actuels, nos flux de conscience, l'acte de penser, le prélèvement de la réalité,..."

ATTENTION : vos fichiers textes doivent bien être en UTF8, sans quoi le grand tout ne comprendrait pas toutes les singularités de notre langue française et afficherai un message d'erreur au premier accent circonflexe rencontré.

Ce n'est pas le tout d'avoir enrichis son langage, encore faut-il plonger dans un langage tout autre : celui du terminal, pour mettre tout ça en musique.

Touts les mots listées ne doivent pas rester sous la forme de "liste" mais se transformer en tableaux - traduit par "Array" en anglais ( tout s'éclaire)

Un Array est comme une variable, à cela de différent qu'elle en contient plusieurs sous forme de "case" .

Par exemple je vais écrire dans mon terminal

tableau=('Roger' 'Pierre' 'Yves')

La case 1 de mon tableau contient le nom "Pierre" (car les cases sont comptées à partir de 0) Si l'ont veut que ça soit ma case 6 qui contienne le nom "Pierre" il faut écrire dans le terminal

tableau[6]='Pierre'

Les cases de 0 (Roger) à 6 (Pierre) n'existeront donc pas puisqu'elles sont vides.

En cas de trou de mémoire, on peut afficher l’ensemble des valeurs de l'Array grâce à la commande

${tableau[*]}

Ensuite il faut entrer dans le nano, lui dire qu'on lui parle en bash (#!/bin/bash en première ligne) Retour à la ligne et lancer un compteur partant de la valeur 0. Vous pouvez écrire par exemple

i=0 for i in $(cut -d: -f1 nomscommuns.txt) do

On défini sur quel fichier va se baser notre procédure, ici l'ont commence par les noms communs préalablement stocké dans le fichier .txt nommé "nomscommuns" et que chaque éléments, chaque noms, sortant de ce tableaux va être placés dans un rang nommé ici par la lettre "i" grace à la ligne suivante

tab[$j]=$i

Puis on incrémente le compteur pour créer une nouvelle case la prochaine fois en terminant par

j=$j+1 done

La suite : le programme va demander une petite participation à l’utilisateur qui va lui même choisir par quelle lettre il veut commencer sa phrase, ce qui se traduit par la ligne de commande "echo "Saisir une lettre en débutant par une minuscule" "

C'est ce que le terminal va demander à l'utilisateur quand celui-ci lancera le programme. Imaginons qu'il écrive la lettre "r"

read input - for i in ${tab[@]}; do

   if $i = $input* 
       then
       echo $i
   fi

Le terminal va, grâce a cette commande, ressortir seulement les cases de l'array, donc les mots, débutant avec la lettre donnée par l'utilisateur.

On anime le tout d'un petit compteur

compteur=3

while $compteur -ge 0 do

       echo -e
       echo $compteur
       sleep 1
       compteur=$((compteur-1))

done

Ensuite on demande à l'utilisateur d'écrire l'un des sujet proposé (echo "saisir un des sujet proposés")

Le sujet doit devenir la case 0 du nouveau tableau créer, si l'utilisateur écrit un mot qui ne figure pas dans la liste, un message d'erreur doit apparaître et l'invité à réitérer le processus. Si au contraire le mot figure bien dans la liste, celui-ci doit automatiquement devoir la première case du nouvel Array "Phrase"

Ensuite il faut réitérer le processus jusqu'au 4ème fichier texte afin de composer la phrase complète.