RubyKamoulox, parce que une tarte écarlate, ca appelle la corne contractuelle.
Par ArtMoonik le samedi, mai 19 2007, 00:15 - Script - Lien permanent
Il s'agit donc de coder un script qui génère des Kamoulox automatiquement, c'est à dire faire générer un truc sans sens à une machine logique. Tout ceci en ruby évidemment.
First of all, si vous ne savez pas ce qu'est un Kamoulox, documentez vous chez nos confrères communautaires de chez Wikipédia.
Second of all, pour profiter de la formidable aventure dans laquelle je vous entraine, il vous faut un interpréteur ruby d'installé, disons version 1.8 (c'est la plus en vogue à ce jour).
Codons donc. En fait on triche puisque on utilise les fonctions random que les gentils développeurs du langage se sont fait suer à programmer (au passage, et note personnelle, ca doit être assez intéressant de voir comment c'est fait). Le problème c'est donc de faire un truc le plus large possible, tout en étant le plus simple possible. Vous codez ca comme vous voulez, chez moi ca donne ca:
Expliquer le code n'a ici rien d'intéressant, vous pouvez juste noter la définition de la méthode random de Array, et la méthode (oui parce qu'on ne dit pas fonction en ruby) récursive kamoulox.
L'idée est de demander à cette fonction de prendre une phrase de base, répondant au mot-clé 'kamoulox' (ligne 42), et d'en analyser chacun des mots. Si le mot est un mot-clé, alors on appelle la fonction kamoulox avec ce mot-clé, et on le remplace avec le résultat, sinon on garde le mot normal.
Comme vous mourrez d'envie d'essayer, je vous offre sans supplément un fichier data2.txt (la version 1 était moins bien): data2.txt !
Placez le dans le même dossier que kamoulox.rb, et lancez kamoulox.rb. Ca donne approximativement:
artmoonik@woodstock:~/Desktop/Kamoulox$ ruby kamoulox.rb
Kamoulox...
Appuyer sur Entrée pour générer une phrase ('q' pour quitter):
Jalouse urbanisée !
Masqué masqué !
Transatlantique urbanisée !
Notez la pauvreté du vocabulaire, qui fait qu'on se retrouve avec plusieurs fois le même mot, assez rapidement. Pour y remédier il suffit d'ajouter des entrées dans le fichier data2.txt.
Cela dit, promis, la prochaine fois on parle d'un truc utile.
PS: Comme le disait Lao Tseu, 'Une corne, ca appelle une pêche.'
Commentaires
... heureusement que tu bosses pour ton bac, con :'D