Bonjour, les syntaxes proposées par @senpai et par @pascal sont équivalentes : SEQUENCE est une chaîne de caractères numérotés de 0 à 3 en partant du début ou de -1 à -4 en partant de la fin. Dans ce cas la syntaxe $(var:offset) avec offset négatif est plus proche de la formulation du problème.
Par contre il ne paraît pas possible de commencer où l’on veut, toutes les opérations indiquées dans le manuel portent sur des caractères ; ou alors il y en a une qui m’a échappé.
$(var:offset) var starting from offset . If offset is less than zero it is counted from the back of the string.
Pour moi ce n’est pas équivalent. Si l’offset est négatif on compte depuis la fin de la chaine. Donc pour moi:
Si la chaîne VAR est « ABCD » alors $(VAR:1) est ‹ BCD › alors que $(VAR:-1) est ‹ ABC ›. En tout cas c’est ce qui est documenté non?
Je n’ai testé qu’avec SEQUENCE, en appliquant ce que j’ai obtenu à ton exemple $(VAR:-1) donne ‹ D ›. Je crois comprendre que la lecture de la chaîne est toujours faite dans le même sens du début vers la fin à partir d’un caractère qui lui peut être repéré en positif ou en négatif. $(SEQUENCE:1) et $(SEQUENCE:-3) donnent tous les deux les trois derniers caractères de la chaîne, soit un nombre à 3 chiffres ; en fait ça revient à enlever des 0 non significatifs. Ça correspond bien à ce qu’a indiqué @senpai.
PS : je profite de ce post pour exprimer toute mon admiration aux développeurs.
Merci c’est bien ce que j’avais compris à la lecture du manuel; j’ai donc bien lu et il n’y a apparement pas de fonction non documentée. Merci de ce retour d’expérience.