Comparaisons sur le dernier caractère
#1
Lightning 
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
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)
Tchat 100% gratuit - Discutez en toute liberté - Discussions dans le Lauragais - Communauté LGBT respectueuse