Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
Le blog du CRRIAM

rivescript subtilité sur les renvois et utilisation des tableaux array

14 Avril 2013 , Rédigé par crriam Publié dans #Rivescript

Voila, je viens de pousser plus a bout les tests sur rivscripte, et aprés pas mal d'heure de boulot, grosse deception. Les fonctions de base comme :

+ garcon
% tu es une fille ou un garcon
- ho comme moi !


+ * garcon
@garcon

+ * garcon *
@garcon

+ garcon *
@garcon

Ne fonctionne pas !
Pourquoi ?
Parceque si on répond garcon, ça marche, mais si l'on répond un garcon, le % n'est plus pris en compte !!! donc qu'il ne matche pas !

Pour que cela fonctionne, il faudrait a chaque fois réintroduire le %
Là où l'on gagner des lignes de code, on les reperds. Donc aucun interet a premiere vu. 

 

salut, j'ai plusieurs pistes pour contourner ce probleme.

soit :

+ depart genre
- tu es une fille ou un garcon ? <set dis=fille ou garcon>

+ fille
* <get dis> == fille ou garcon => ho, une fille comme moi !

+ * fille
@fille

+ * fille *
@fille

+ fille *
@fille



Soit utiliser comme me la sugèré kirsle la solution qui me parait etre pour la plus part du temps la meilleur :

+ depart genre
- tu es une fille ou un garcon ?

+ [*] fille [*]
% * es une fille ou un garcon*
- ho une fille, comme moi !

qui fonctionne tres bien.

Si à cela on ajoute un array

! array fille = fille femme fillette madame dame donzelle gonzesse mademoiselle demoiselle femelle
! array filles = filles femmes fillettes madames dames donzelles gonzesses mademoiselles demoiselles femelles

alors, on a simplifié le code de façon impressionnante. le code deviens donc :

+ [*] (@fille) [*]
% * es une fille ou un garcon*
- ho une fille, comme moi !

 

Ou même carrément plus fort :

 

+ [*] (@fillenoune|@fillenounes) [*]
% * es une fille ou un garcon*
- ho une fille comme moi <env genre=fille>

 

Qui va reconnaitre toutes les vriante de fille plurielles ou pas !



Conclusion : Le rivescript s'aborde d'une façon différente. Tout ne fonctione pas comme pour l'aiml, mais bien souvent une solution existe tout aussi efficasse voir bien plus ! car là, en 3 lignes de code remplacent une bonne 60 ene de lignes aiml

 

 

Encore plus fort, en recoupant les tableaux entre eux :


+ [*] tu es [*] (@garconoune|@garconounes|@fillenoune|@fillenounes) [*]
- je suis <bot genre> <set sujet= fille ou garcon>

Va reconnaitre toutes les formes de questions du style

tu es une fille
et donc tu es une fille ou un garcon
tu es une femme toi alors
tu es un homme ou une femelle finalement
etc..

 

ici la rivescripte a l'aide de [*] et des tableaux simplifie le code de manière impressionante

Partager cet article

Repost 0

Commenter cet article