Communauté Eggdrop
Comparaisons sur le dernier caractère - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Bouts de Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=17)
+--- Sujet : Comparaisons sur le dernier caractère (/showthread.php?tid=1830)



Comparaisons sur le dernier caractère - CrazyCat - 27/05/2025

Hier, un utilisateur a demandé comment savoir si une chaîne se terminait par un point. La question est basique, par contre le nombre de réponses valides est assez élevé, chacun pouvant utiliser sa méthode, de la plus simple à la plus complexe:
  • [string match *. $text] retourne 1 si le dernier caractère de $text est un point (5543.6 / 3.892 microseconds)
  • [string index $text end] eq . compare le dernier caractère avec le caractère point (9813.3 / 11.17 microseconds)
  • [string last . $text] == [string length $text] vérifie que la position du dernier point de la chaine est à la position de dernier caractère (7903.8 / 9.257 microseconds)
  • [string trimright $text .] ne $text vérifie que $text est modifié en supprimant le(s) point(s) final(aux) (10487.3 / 9.582 microseconds)
  • ...

Tout ça pour montrer qu'il n'y a jamais qu'une seule solution à un problème, même pour une chose très simple.

Les temps donnés sont:
en premier la valeur moyenne (sur 100 itérations) d'une boucle de 1000 test
en second la valeur moyenne sur 1000 itérations d'un seul test