Types de données Ruby
Dans ce chapitre, nous vous présenterons les types de données de base de Ruby.
Les types de données pris en charge par Ruby incluent les nombres de base, les chaînes, les plages, les symboles et les valeurs spéciales de vrai, faux et nul, ainsi que deux structures de données importantes : tableau et hachage.
Type numérique (Nombre)
1. Type entier (Entier)
Le type entier est divisé en deux types s'il est compris dans les 31 bits (quatre octets). ), C'est une instance Fixnum. S'il dépasse, c'est une instance Bignum.
Les nombres entiers vont de -230 à 230-1 ou -262 à 262-1 . Les entiers compris dans cette plage sont des objets de classe Fixnum, et les entiers en dehors de cette plage sont stockés dans des objets de classe Bignum.
Vous pouvez utiliser un symbole de début facultatif avant l'entier, un indicateur de base facultatif (0 pour octal, 0x pour hexadécimal, 0b pour binaire), suivi d'une chaîne de nombres. Les caractères de soulignement sont ignorés dans les chaînes numériques.
Vous pouvez obtenir la valeur entière d'un caractère ASCII ou une séquence d'échappement marquée d'un point d'interrogation.
Instance
123 # Fixnum 十进制 1_234 # Fixnum 带有下划线的十进制 -500 # 负的 Fixnum 0377 # 八进制 0xff # 十六进制 0b1011 # 二进制 "a".ord # "a" 的字符编码 ?\n # 换行符(0x0a)的编码 12345678901234567890 # Bignumrrree
Pointe flottante
Ruby prend en charge les nombres à virgule flottante. Ce sont des nombres avec des décimales. Les nombres à virgule flottante sont des objets de classe Float et peuvent être l'un des éléments suivants.
Exemple
#整型 Integer 以下是一些整型字面量 #字面量(literal):代码中能见到的值,数值,bool值,字符串等都叫字面量 #如以下的0,1_000_000,0xa等 a1=0 #带千分符的整型 a2=1_000_000 #其它进制的表示 a3=0xa puts a1,a2 puts a3 #puts print 都是向控制台打印字符,其中puts带回车换行符 =begin 这是注释,称作:嵌入式文档注释 类似C#中的/**/ =endrrree
Opérations arithmétiques
Opérateurs d'addition, de soustraction, de multiplication et de division : +-*/; l'opérateur exposant est **
L'exposant ne doit pas nécessairement être un entier, par exemple
123.4 # 浮点值 1.0e6 # 科学记数法 4E20 # 不是必需的 4e+20 # 指数前的符号
Type de chaîne
La chaîne Ruby est simplement une séquence d'octets de 8 bits, qui sont des objets de classe String.
Les chaînes entre guillemets doubles autorisent la substitution et l'utilisation de symboles de barre oblique inverse. Les chaînes entre guillemets simples n'autorisent pas la substitution, et seuls deux symboles de barre oblique inverse \ et ' sont autorisés.
Instance
Instance
#浮点型 f1=0.0 f2=2.1 f3=1000000.1 puts f3
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour voir l'exemple en ligne
Cela produira le résultat suivant :
#指数算术 puts 2**(1/4)#1与4的商为0,然后2的0次方为1 puts 16**(1/4.0)#1与4.0的商为0.25(四分之一),然后开四次方根
Vous pouvez utiliser la séquence #{ expr } pour remplacer la valeur de n'importe quelle expression Ruby par une chaîne. Ici, expr peut être n'importe quelle expression Ruby.
#!/usr/bin/ruby -w puts 'escape using "\"'; puts 'That\'s right';
Cela produira le résultat suivant :
escape using "\" That's right
#!/usr/bin/ruby -w puts "Multiplication Value : #{24*60*60}";
La sortie sera :
Multiplication Value : 86400
Symbole de barre oblique inverse
Le tableau suivant répertorie la barre oblique inverse prise en charge par Ruby Symbole barre oblique :
符号 | 表示的字符 |
---|---|
n | 换行符 (0x0a) |
r | 回车符 (0x0d) |
f | 换页符 (0x0c) |
b | 退格键 (0x08) |
a | 报警符 Bell (0x07) |
e | 转义符 (0x1b) |
s | 空格符 (0x20) |
nnn | 八进制表示法 (n 是 0-7) |
xnn | 十六进制表示法 (n 是 0-9、a-f 或 A-F) |
cx, C-x | Control-x |
M-x | Meta-x (c | 0x80) |
M-C-x | Meta-Control-x |
x | 字符 x |
Pour plus de détails sur les chaînes Ruby, consultez Ruby Strings.
Array
Les littéraux de tableau sont définis entre [] séparés par des virgules et prennent en charge les définitions de plage.
(1) Accès au tableau via l'index []
(2) Insertion, suppression et remplacement d'éléments via des opérations d'affectation
(3) Fusionnez et supprimez des éléments via les signes +, -, et l'ensemble apparaît comme un nouvel ensemble
(4) Utilisez le signe << pour renvoyer les éléments de données d'origine
(5) Répéter les éléments du tableau
(6) Utilisez les symboles et et pour effectuer l'union et l'intersection opérations (Notez l'ordre)
Instance :
Instance
#!/usr/bin/ruby -w name="Ruby" puts name puts "#{name+",ok"}"
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Cela produira les résultats suivants :
Ruby Ruby,ok
Pour plus de détails sur les tableaux Ruby, consultez Ruby Tableaux ( Tableau).
Type de hachage
Le hachage Ruby est une série de paires clé/valeur placées entre accolades, avec des clés et des valeurs séparées par des virgules et la séquence =>. Les virgules finales sont ignorées.
Instance
Instance
#!/usr/bin/ruby ary = [ "fred", 10, 3.14, "This is a string", "last element", ] ary.each do |i| puts i end
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour voir l'exemple en ligne
Cela produira le résultat suivant :
fred 10 3.14 This is a string last element
Pour plus de détails sur les hachages Ruby, consultez Ruby Hashes (Hash).
Type de plage
Une plage représente un intervalle.
La plage est représentée en définissant une valeur de début et une valeur de fin. Les plages peuvent être construites en utilisant se..e et se...e, ou via Range.new.Une plage construite en utilisant .. s'étend de la valeur de début à la valeur de fin (incluse). Une plage construite avec ... s'étend de la valeur de début à la valeur de fin (exclusivement). Lorsqu'elle est utilisée comme itérateur, une plage renvoie chaque valeur de la séquence.
Plage (1..5) signifie qu'il contient les valeurs 1, 2, 3, 4, 5, plage (1...5) signifie qu'il contient les valeurs 1, 2, 3 , 4.
Instance
Instance
#!/usr/bin/ruby hsh = colors = { "red" => 0xf00, "green" => 0x0f0, "blue" => 0x00f } hsh.each do |key, value| print key, " is ", value, "\n" end
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour voir l'exemple en ligne
Cela produira le résultat suivant :
red is 3840 green is 240 blue is 15
Pour plus de détails sur les gammes Ruby, consultez Ruby Ranges.