Dans cet article, j'expliquerai comment extraire une chaîne de caractères arbitraire dans Ruby. Il explique également le comportement lorsqu'un nombre négatif est spécifié comme argument lors de l'extraction d'une chaîne de caractères.
Le code lui-même ressemble à ceci: En spécifiant le 0ème au 2ème caractère dans la chaîne de caractères, le 3ème caractère du début est sorti.
def left2(str)
puts str[0..2]
end
left2('Hello')
--Résultat d'exécution--
Hel
Définissons maintenant le deuxième argument de str sur -1.
def left2(str)
puts str[0..-1]
end
left2('Hello')
--Résultat d'exécution--
Hello
Tous les caractères ont été retirés et il a été affiché comme Hello. La raison en est que -1 représente la fin de la chaîne. C'est le résultat car le 0e à la fin de la chaîne de caractères est extrait. Le tableau montre le numéro de chaque caractère.
lettre | Pour les nombres positifs | Pour les nombres négatifs |
---|---|---|
H | 0e caractère | -5ème caractère |
e | 1er caractère | −4ème caractère |
l | 2ème caractère | -3ème caractère |
l | 3ème caractère | −2ème caractère |
o | 4ème caractère | -1er caractère |
Selon le tableau ci-dessus, si vous définissez le premier argument sur 1 et le deuxième argument sur -4, Puisque les caractères 0 et 1er sont extraits, le résultat est supposé être "He". Faisons-le tout de suite.
def left2(str)
puts str[0..-4]
end
left2('Hello')
· Résultat d'exécution
% ruby test.rb
He
Il est devenu "Il" comme prévu. Le point de cet article est que les valeurs négatives peuvent être utilisées comme arguments lors de l'extraction d'une chaîne de caractères.