NOTE- Dans une chaîne entre guillemets, un caractère d'échappement est interprété; dans une chaîne entre guillemets simples, un caractère d'échappement est conservé.

Notation de barre oblique inverse Caractère hexadécimal La description
\une 0x07 Cloche ou alerte
\ b 0x08 Retour arrière
\ cx   Contrôle-x
\ Cx   Contrôle-x
\ e 0x1b Échapper
\F 0x0c Formfeed
\ M- \ Cx   Meta-Control-x
\ n 0x0a Nouvelle ligne
\ nnn   Notation octale, où n est compris entre 0,7
\ r 0x0d Retour chariot
\ s 0x20 Espace
\ t 0x09 Languette
\ v 0x0b Onglet vertical
\X   Caractère x
\ xnn   Notation hexadécimale, où n est compris entre 0,9, af ou AF
Sr.No. Code et description
1

a

ASCII (identique à aucun). C'est la valeur par défaut.

2

e

EUC.

3

n

Aucun (identique à ASCII).

4

u

UTF-8.

Sr.No. Méthodes et description
1

str % arg

Formate une chaîne à l'aide d'une spécification de format. arg doit être un tableau s'il contient plus d'une substitution. Pour plus d'informations sur la spécification de format, consultez sprintf sous «Module noyau».

2

str * integer

Renvoie une nouvelle chaîne contenant le nombre entier multiplié par str. En d'autres termes, str est un nombre entier répété.

3

str + other_str

Concatène other_str à str.

4

str << obj

Concatène un objet en str. Si l'objet est un Fixnum compris entre 0,255, il est converti en caractère. Comparez-le avec concat.

5

str <=> other_str

Compare str avec other_str, renvoyant -1 (inférieur à), 0 (égal) ou 1 (supérieur à). La comparaison est sensible à la casse.

6

str == obj

Teste l'égalité de str et obj. Si obj n'est pas une chaîne, renvoie false; renvoie vrai si str <=> obj renvoie 0.

sept

str =~ obj

Correspond à str avec un modèle d'expression régulière obj. Renvoie la position où le match commence; sinon, faux.

8

str.capitalize

Met une chaîne en majuscule.

9

str.capitalize!

Identique à capitaliser, mais les modifications sont apportées en place.

dix

str.casecmp

Effectue une comparaison insensible à la casse des chaînes.

11

str.center

Centre une chaîne.

12

str.chomp

Supprime le séparateur d'enregistrement ($ /), généralement \ n, de la fin d'une chaîne. Si aucun séparateur d'enregistrement n'existe, ne fait rien.

13

str.chomp!

Identique à chomp, mais les modifications sont apportées.

14

str.chop

Supprime le dernier caractère de str.

15

str.chop!

Identique à chop, mais les modifications sont apportées en place.

16

str.concat(other_str)

Concatène other_str à str.

17

str.count(str, ...)

Compte un ou plusieurs jeux de caractères. S'il y a plus d'un jeu de caractères, compte l'intersection de ces jeux

18

str.crypt(other_str)

Applique un hachage cryptographique unidirectionnel à str. L'argument est la chaîne salt, qui doit comporter deux caractères, chaque caractère dans la plage az, AZ, 0.9,. ou /.

19

str.delete(other_str, ...)

Renvoie une copie de str avec tous les caractères à l'intersection de ses arguments supprimés.

20

str.delete!(other_str, ...)

Identique à la suppression, mais les modifications sont effectuées sur place.

21

str.downcase

Renvoie une copie de str avec toutes les lettres majuscules remplacées par des minuscules.

22

str.downcase!

Identique au downcase, mais des modifications sont apportées.

23

str.dump

Renvoie une version de str avec tous les caractères non imprimables remplacés par la notation \ nnn et tous les caractères spéciaux échappés.

24

str.each(separator = $/) { |substr| block }

Divise str en utilisant l'argument comme séparateur d'enregistrement ($ / par défaut), en passant chaque sous-chaîne au bloc fourni.

25

str.each_byte { |fixnum| block }

Passe chaque octet de str au bloc, renvoyant chaque octet sous forme de représentation décimale de l'octet.

26

str.each_line(separator=$/) { |substr| block }

Divise str en utilisant l'argument comme séparateur d'enregistrement ($ / par défaut), en passant chaque sous-chaîne au bloc fourni.

27

str.empty?

Renvoie true si str est vide (a une longueur nulle).

28

str.eql?(other)

Deux chaînes sont égales si elles ont la même longueur et le même contenu.

29

str.gsub(pattern, replacement) [or]

str.gsub(pattern) { |match| block }

Renvoie une copie de str avec toutes les occurrences de pattern remplacées par le remplacement ou la valeur du bloc. Le modèle sera généralement une expression rationnelle; s'il s'agit d'une chaîne, aucun métacaractère d'expression régulière ne sera interprété (c'est-à-dire que / \ d / correspondra à un chiffre, mais '\ d' correspondra à une barre oblique inverse suivie d'un 'd')

30

str[fixnum] [or] str[fixnum,fixnum] [or] str[range] [or] str[regexp] [or] str[regexp, fixnum] [or] str[other_str]

Références str, en utilisant les arguments suivants: one Fixnum, renvoie un code de caractère au fixnum; deux Fixnums, retourne une sous-chaîne commençant à un offset (premier fixnum) à length (second fixnum); range, retourne une sous-chaîne dans la plage; regexp renvoie une partie de la chaîne correspondante; regexp avec fixnum, retourne les données correspondantes au fixnum; other_str renvoie la sous-chaîne correspondant à other_str. Un Fixnum négatif commence à la fin de la chaîne avec -1.

31

str[fixnum] = fixnum [or] str[fixnum] = new_str [or] str[fixnum, fixnum] = new_str [or] str[range] = aString [or] str[regexp] = new_str [or] str[regexp, fixnum] = new_str [or] str[other_str] = new_str ]

Remplacez (attribuez) tout ou partie d'une chaîne. Synonyme de slice !.

32

str.gsub!(pattern, replacement) [or] str.gsub!(pattern) { |match|block }

Effectue les substitutions de String # gsub en place, en retournant str ou nil si aucune substitution n'a été effectuée.

33

str.hash

Renvoie un hachage basé sur la longueur et le contenu de la chaîne.

34

str.hex

Traite les caractères de début de str comme une chaîne de chiffres hexadécimaux (avec un signe facultatif et un 0x facultatif) et renvoie le nombre correspondant. Zéro est renvoyé en cas d'erreur.

35

str.include? other_str [or] str.include? fixnum

Renvoie true si str contient la chaîne ou le caractère donné.

36

str.index(substring [, offset]) [or]

str.index(fixnum [, offset]) [or]

str.index(regexp [, offset])

Renvoie l'index de la première occurrence de la sous-chaîne, du caractère (fixnum) ou du motif (regexp) donné dans str. Renvoie nil si non trouvé. Si le deuxième paramètre est présent, il spécifie la position dans la chaîne pour commencer la recherche.

37

str.insert(index, other_str)

Insère other_str avant le caractère à l'index donné, en modifiant str. Les indices négatifs comptent à partir de la fin de la chaîne et s'insèrent après le caractère donné. L'intention est d'insérer une chaîne pour qu'elle commence à l'index donné.

38

str.inspect

Renvoie une version imprimable de str, avec échappements de caractères spéciaux.

39

str.intern [or] str.to_sym

Renvoie le symbole correspondant à str, créant le symbole s'il n'existait pas auparavant.

40

str.length

Renvoie la longueur de str. Comparez la taille.

41

str.ljust(integer, padstr = ' ')

Si integer est supérieur à la longueur de str, renvoie une nouvelle chaîne de longueur integer avec str justifiée à gauche et complétée avec padstr; sinon, retourne str.

42

str.lstrip

Renvoie une copie de str avec les espaces au début supprimés.

43

str.lstrip!

Supprime les espaces de début de str, retournant nil si aucune modification n'a été apportée.

44

str.match(pattern)

Convertit le motif en une expression rationnelle (si ce n'est déjà fait), puis invoque sa méthode de correspondance sur str.

45

str.oct

Traite les premiers caractères de str comme une chaîne de chiffres octaux (avec un signe facultatif) et renvoie le nombre correspondant. Renvoie 0 si la conversion échoue.

46

str.replace(other_str)

Remplace le contenu et la souillure de str par les valeurs correspondantes dans other_str.

47

str.reverse

Renvoie une nouvelle chaîne avec les caractères de str dans l'ordre inverse.

48

str.reverse!

Inverse str en place.

49

str.rindex(substring [, fixnum]) [or]

str.rindex(fixnum [, fixnum]) [or]

str.rindex(regexp [, fixnum])

Renvoie l'index de la dernière occurrence de la sous-chaîne, du caractère (fixnum) ou du modèle (regexp) donné dans str. Renvoie nil si non trouvé. Si le deuxième paramètre est présent, il spécifie la position dans la chaîne pour terminer la recherche. Les caractères au-delà de ce point ne seront pas pris en compte.

50.

str.rjust(integer, padstr = ' ')

Si integer est supérieur à la longueur de str, renvoie une nouvelle chaîne de longueur integer avec str justifiée à droite et complétée avec padstr; sinon, retourne str.

51

str.rstrip

Renvoie une copie de str avec les espaces de fin supprimés.

52

str.rstrip!

Supprime les espaces de fin de str, renvoyant nil si aucune modification n'a été apportée.

53

str.scan(pattern) [or]

str.scan(pattern) { |match, ...| block }

Les deux formes parcourent str, correspondant au modèle (qui peut être une expression rationnelle ou une chaîne). Pour chaque correspondance, un résultat est généré et ajouté au tableau de résultats ou transmis au bloc. Si le modèle ne contient aucun groupe, chaque résultat individuel est constitué de la chaîne correspondante, $ &. Si le modèle contient des groupes, chaque résultat individuel est lui-même un tableau contenant une entrée par groupe.

54

str.slice(fixnum) [or] str.slice(fixnum, fixnum) [or]

str.slice(range) [or] str.slice(regexp) [or]

str.slice(regexp, fixnum) [or] str.slice(other_str)

See str[fixnum], etc.

str.slice!(fixnum) [or] str.slice!(fixnum, fixnum) [or]

str.slice!(range) [or] str.slice!(regexp) [or]

str.slice!(other_str)

Supprime la partie spécifiée de str et renvoie la partie supprimée. Les formulaires qui prennent un Fixnum lèveront une IndexError si la valeur est hors limites; le formulaire Range lèvera une RangeError, et les formulaires Regexp et String ignoreront silencieusement l'affectation.

55

str.split(pattern = $, [limit])

Divise str en sous-chaînes en fonction d'un délimiteur, retournant un tableau de ces sous-chaînes.

Si pattern est une chaîne, son contenu est utilisé comme délimiteur lors du fractionnement de str. Si le motif est un seul espace, str est divisé sur un espace blanc, les espaces de début et les séries de caractères d'espaces contigus ignorés.

Si motif est une expression rationnelle, str est divisé là où le motif correspond. Chaque fois que le modèle correspond à une chaîne de longueur nulle, str est divisé en caractères individuels.

Si le motif est omis, la valeur de $; est utilisé. Si $; est nil (qui est la valeur par défaut), str est divisé sur un espace comme si `` était spécifié.

Si le paramètre limit est omis, les champs nuls de fin sont supprimés. Si limit est un nombre positif, ce nombre de champs au maximum sera renvoyé (si limit est 1, la chaîne entière est renvoyée comme seule entrée dans un tableau). S'il est négatif, il n'y a pas de limite au nombre de champs renvoyés et les champs nuls de fin ne sont pas supprimés.

56

str.squeeze([other_str]*)

Construit un ensemble de caractères à partir du ou des paramètres other_str en utilisant la procédure décrite pour String # count. Renvoie une nouvelle chaîne dans laquelle les exécutions du même caractère qui se produisent dans cet ensemble sont remplacées par un seul caractère. Si aucun argument n'est donné, toutes les exécutions de caractères identiques sont remplacées par un seul caractère.

57

str.squeeze!([other_str]*)

Met str en place, renvoyant soit str, soit nil si aucune modification n'a été apportée.

58

str.strip

Renvoie une copie de str avec les espaces de début et de fin supprimés.

59

str.strip!

Supprime les espaces de début et de fin de str. Renvoie nil si str n'a pas été modifié.

60

str.sub(pattern, replacement) [or]

str.sub(pattern) { |match| block }

Renvoie une copie de str avec la première occurrence de pattern remplacée par le remplacement ou la valeur du bloc. Le modèle sera généralement une expression rationnelle; s'il s'agit d'une chaîne, aucun métacaractère d'expression régulière ne sera interprété.

61

str.sub!(pattern, replacement) [or]

str.sub!(pattern) { |match| block }

Effectue les substitutions de String # sub en place, renvoyant str ou nil si aucune substitution n'a été effectuée.

62

str.succ [or] str.next

Renvoie le successeur de str.

63

str.succ! [or] str.next!

Équivaut à String # succ, mais modifie le récepteur en place.

64

str.sum(n = 16)

Renvoie une somme de contrôle de base de n bits des caractères de str, où n est le paramètre optionnel Fixnum, par défaut à 16. Le résultat est simplement la somme de la valeur binaire de chaque caractère de str modulo 2n - 1. Ce n'est pas un bonne somme de contrôle.

65

str.swapcase

Renvoie une copie de str avec des caractères alphabétiques majuscules convertis en caractères minuscules et minuscules convertis en majuscules.

66

str.swapcase!

Équivaut à String # swapcase, mais modifie le récepteur sur place, renvoyant str, ou nil si aucune modification n'a été effectuée.

67

str.to_f

> Renvoie le résultat de l'interprétation des premiers caractères de str comme un nombre à virgule flottante. Les caractères superflus après la fin d'un nombre valide sont ignorés. S'il n'y a pas de nombre valide au début de str, 0.0 est renvoyé. Cette méthode ne lève jamais d'exception.

68

str.to_i(base = 10)

Renvoie le résultat de l'interprétation des premiers caractères de str comme une base entière (base 2, 8, 10 ou 16). Les caractères superflus après la fin d'un nombre valide sont ignorés. S'il n'y a pas de nombre valide au début de str, 0 est renvoyé. Cette méthode ne lève jamais d'exception.

69

str.to_s [or] str.to_str

Renvoie le récepteur.

70

str.tr(from_str, to_str)

Renvoie une copie de str avec les caractères de from_str remplacés par les caractères correspondants de to_str. Si to_str est plus court que from_str, il est complété avec son dernier caractère. Les deux chaînes peuvent utiliser la notation c1.c2 pour désigner des plages de caractères, et from_str peut commencer par un ^, qui désigne tous les caractères sauf ceux répertoriés.

71

str.tr!(from_str, to_str)

Traduit str en place, en utilisant les mêmes règles que String # tr. Renvoie str, ou nil si aucune modification n'a été effectuée.

72

str.tr_s(from_str, to_str)

Traite une copie de str comme décrit sous String # tr, puis supprime les caractères en double dans les régions qui ont été affectées par la traduction.

73

str.tr_s!(from_str, to_str)

Exécute le traitement String # tr_s sur str en place, en retournant str ou nil si aucune modification n'a été apportée.

74

str.unpack(format)

> Décode str (qui peut contenir des données binaires) en fonction de la chaîne de format, renvoyant un tableau de chaque valeur extraite. La chaîne de format consiste en une séquence de directives à un seul caractère, résumées dans le tableau 18. Chaque directive peut être suivie d'un nombre, indiquant le nombre de répétitions avec cette directive. Un astérisque (*) utilisera tous les éléments restants. Les directives sSiIlL peuvent chacune être suivies d'un trait de soulignement (_) pour utiliser la taille native de la plateforme sous-jacente pour le type spécifié; sinon, il utilise une taille cohérente indépendante de la plate-forme. Les espaces sont ignorés dans la chaîne de format.

75

str.upcase

Renvoie une copie de str avec toutes les lettres minuscules remplacées par leurs équivalents en majuscules. L'opération est insensible aux paramètres régionaux. Seuls les caractères a à z sont concernés.

76

str.upcase!

Modifie le contenu de str en majuscules, en retournant nil si aucune modification n'est apportée.

77

str.upto(other_str) { |s| block }

Itère des valeurs successives, en commençant à str et en se terminant à other_str inclus, en passant chaque valeur à son tour au bloc. La méthode String # succ est utilisée pour générer chaque valeur.

Directif Retour La description
UNE Chaîne Avec les nuls et les espaces de fin supprimés.
une Chaîne Chaîne.
B Chaîne Extrait les bits de chaque caractère (le bit le plus significatif en premier).
b Chaîne Extrait les bits de chaque caractère (le bit le moins significatif en premier).
C Fixnum Extrait un caractère sous forme d'entier non signé.
c Fixnum Extrait un caractère sous forme d'entier.
D, d Flotte Traite la taille des caractères (doubles) comme un double natif.
E Flotte Traite la taille des (doubles) caractères comme un double dans l'ordre des octets littleendian.
e Flotte Traite les caractères sizeof (float) comme un float dans l'ordre des octets littleendian.
F, f Flotte Traite les caractères sizeof (float) comme un float natif.
g Flotte Traite la taille des (doubles) caractères comme un double dans l'ordre des octets du réseau.
g Chaîne Traite les caractères sizeof (float) comme un float dans l'ordre des octets du réseau.
H Chaîne Extrait les grignotages hexadécimaux de chaque caractère (le bit le plus significatif en premier)
h Chaîne Extrait les grignotages hexadécimaux de chaque caractère (le bit le moins significatif en premier).
je Entier Traite sizeof (int) (modifié par _) caractères successifs comme un entier natif non signé.
je Entier Traite sizeof (int) (modifié par _) caractères successifs comme un entier natif signé.
L Entier Traite quatre caractères successifs (modifiés par _) comme un entier long natif non signé.
l Entier Traite quatre caractères successifs (modifiés par _) comme un entier long natif signé.
M Chaîne Citée-imprimable.
m Chaîne Encodé en base64.
N Entier Traite quatre caractères comme un long non signé dans l'ordre des octets du réseau.
n Fixnum Traite deux caractères comme un court non signé dans l'ordre des octets du réseau.
P Chaîne Traite les caractères sizeof (char *) comme un pointeur et renvoie les caractères \ emph {len} à partir de l'emplacement référencé.
p Chaîne Traite les caractères sizeof (char *) comme un pointeur vers une chaîne terminée par un caractère nul.
Q Entier Traite huit caractères comme un mot quadruple non signé (64 bits).
q Entier Traite huit caractères comme un mot quadruple signé (64 bits).
S Fixnum Traite deux caractères successifs (différents si _ est utilisé) comme un court non signé dans l'ordre des octets natif.
s Fixnum Traite deux caractères successifs (différents si _ utilisé) comme un court signé dans l'ordre des octets natif.
U Entier Caractères UTF-8 sous forme d'entiers non signés.
u Chaîne Encodé UU.
V Fixnum Traite quatre caractères comme un long non signé dans l'ordre des octets little-endian.
v Fixnum Traite deux caractères comme un court non signé dans l'ordre des octets petit boutiste.
w Entier Entier compressé en BER.
X   Saute d'un caractère en arrière.
X   Avance d'un caractère.
Z Chaîne Avec les valeurs nulles de fin supprimées jusqu'au premier null avec *.
@   Saute au décalage donné par l'argument de longueur.