Remplacer Sed et Awk par Ruby 10: Un exemple d'utilisation
Dans un article précédent sur les algorithmes génétiques, je devais générer des valeurs aléatoires en dur dans un fichier source Ruby. Le code ressemble à ce qui suit:
Le dernier nombre de chaque ligne doit être compris entre 1 et 100. Voici comment faire en utilisant ce qu’on a appris depuis le début de cette série Remplacer Sed et Awk par Ruby.
J’ai tout d’abord écrit mes lignes en mettant la chaîne ABC
là où je voulais
un nombre aléatoire:
Cela va permettre au script de trouver l’endroit où substituer un nombre.
Puis, on lance le script suivant depuis une console:
Explications: rand(100)+1
génère un nombre aléatoire entre 1 inclus et
100 inclus. $_.sub!(/ABC/,r.to_s)
opère une substitution de la ligne en
cours de traitement: ABC est remplacé par le contenu de r
, soit le nombre
aléatoire.
En réalité, je n’ai pas lancé ce script depuis une console, mais directement dans Vim:
Dans ce cas, il faut faire attention à échapper le !
, sans quoi Vim
n’aimeras pas…
Voilà un exemple simple d’utilisation du mode sed/awk de Ruby.
À demain.