Length
Retourne le nombre d'éléments d'un tableau ou d'une chaîne.
function Length(name: String): Integer
Il s'agit d'une fonction spéciale:
- pour les chaînes de caractères, il s'agit du nombre d'unités de code 8 bits, les chaînes étant encodées selon l'Unicode. Si et seulement si la chaîne ne contient que des caractères appartenant à l'UCS-2, il s'agira aussi du nombre de caractères*.
- pour un tableau, il s'agit du nombre d'éléments du tableau (les bornes basses et hautes d'un tableau peuvent être obtenues respectivement par Low et High).
Remarque sur la longueur des chaînes :
Une erreur courante sur la longueur des chaînes encodées en Unicode est de confondre le nombre d'unités de code et le nombre de caractères.
Cette erreur est non-spécifique à Qubes, mais concerne aussi Java, Delphi, VB.Net, .C#, etc.
Dans la plupart des langages non-asiatiques, les deux nombres sont identiques, et cette erreur peut passer inaperçue.
Cependant de nombreux caractères chinois par exemple nécessiteront deux unités de code 8 bits. Ces caractères sont rares dans le vocabulaire, mais ne sont pas rares dans les noms de familles, et par là, peuvent arriver à se retrouver couramment dans les textes.
Exemples
Length('ABC'); // renvoie 3
Attention :
Length('𠀀'); // renvoie 2, car ce caractère utilise 2 unités de code 8 bits