Ajout pour trivia.tcl
#1
Sur le forum anglophone, un utilisateur a demandé s'il était possible de mettre un voice automatique lorsqu'une personne du top 3 entrait sur le canal du jeu.
Voici le bout de code que j'ai pondu et qui peut en intéresser certains, pas tellement par sa fonctionnalité mais plutôt par son utilisation des options de lsort et lsearch

tcl
proc tgvonjoin {nick uhost handle chan} {
   set tmp [list]
   for {set i 0} {$i<[llength $::tgscore]} {incr i} {
      lappend tmp [split [lindex $::tgscore $i] ,]
   }
   set tmp [lrange [lsort -decreasing -integer -index 2 $tmp] 0 2]
   if {[lsearch -nocase -index 0 $tmp $nick]>-1} {
      pushmode $chan +v $nick
   }
}
bind join - "$tgchan *" tgvonjoin



lsort
Que fait la partie lsort -decreasing -integer -index 2 $tmp ?
La liste tmp contient des sous-listes composées du pseudo (index 0), de l'heure du score (index 1) et de la valeur du score (index 2). Je dis donc de trier les sous-listes sur son 2ème index (le score) en le traitant comme un entier et dans l'ordre décroissant.

lsearch
lsearch (lsearch -nocase -index 0 $tmp $nick) fonctionne de la même manière, avec l'option -index il va travailler dans les sous-listes, mais là ce qui nous intéresse est l'index 0 (le pseudo).



J'ai ajouté un exemple sur la page wiki de lsort, voici le rendu de l'exécution du code :
Code :
tclsh test.tcl order by names albert as 45 words and 8 lines gwenaelle as 84 words and 18 lines hector as 4 words and 2 lines myriam as 64 words and 4 lines order by words hector as 4 words and 2 lines albert as 45 words and 8 lines myriam as 64 words and 4 lines gwenaelle as 84 words and 18 lines order by lines hector as 4 words and 2 lines myriam as 64 words and 4 lines albert as 45 words and 8 lines gwenaelle as 84 words and 18 lines
Présent sur le Tchat francophone
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit - Discutez en toute liberté - Transitionnez vers Linux - Discussions dans le Lauragais - Communauté LGBT respectueuse - soutien aux victimes de cybermalveillance - pour les filles par les filles Le forum pour passer le temps