Latest web development tutorials

type de données Ruby

Ce chapitre nous présenterons les types de données de base Ruby.

Ruby pris en charge les types de données incluent Nombre de base, String, Ranges, symboles, et vrai, faux, et de néant ces valeurs particulières, ainsi que deux structures de données importantes --Array et Hash.


Valeur Type (Nombre)

1, Integer (entier)

Deux entiers, le cas 31 ou moins (quatre octets), il est par exemple Fixnum. Si oui, est par exemple Bignum.

gamme Entier de -2 ou -2 30-2 30-1 62-2 62-1. Entier dans cette gamme est la classeFixnumobjet entier stocké en dehors du champ d'application de cette classe d' objetsBigNum.

Vous pouvez utiliser un symbole de préambule option devant un nombre entier, un indicateur de base en option (0 pour octal, 0x correspondent hex, 0b correspondant au binaire), suivie par une série de chiffres. caractère de soulignement chaîne numérique sont ignorées.

Vous pouvez obtenir un caractère ASCII ou une séquence d'échappement de valeur entière avec des points d'interrogation.

Exemples

123                  # Fixnum 十进制
1_234                # Fixnum 带有下划线的十进制
-500                 # 负的 Fixnum
0377                 # 八进制
0xff                 # 十六进制
0b1011               # 二进制
"a".ord              # "a" 的字符编码
?\n                  # 换行符(0x0a)的编码
12345678901234567890 # Bignum
#整型 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#中的/**/ 
=end 

flotteur

soutien Ruby à virgule flottante. Ils sont des nombres décimaux. Flotteurflottantest une classe d'objets et peut être l' un quelconque des éléments suivants.

Exemples

123.4                # 浮点值
1.0e6                # 科学记数法
4E20                 # 不是必需的
4e+20                # 指数前的符号
#浮点型 
f1=0.0 
f2=2.1 
f3=1000000.1 
puts f3  

opération arithmétique

Opérateurs arithmétiques: + - * /; opérateur d'index **

Indice ne doit pas être un nombre entier, par exemple

#指数算术 
puts 2**(1/4)#1与4的商为0,然后2的0次方为1 
puts 16**(1/4.0)#1与4.0的商为0.25(四分之一),然后开四次方根 

type String

chaîne Ruby est simplement une séquence d'octets de 8 bits, ce qui est l'objet de la classe String.

Chaîne de guillemets doubles et antislashs permettent chaînes de remplacement ne sont pas autorisés à remplacer les guillemets simples, et ne permet l'utilisation de \\ et \ 'deux backslash.

Exemples

Exemples

#! / Usr / bin / ruby ​​-w

puts 'échapper en utilisant "\\"';
met 'Ce \' s droite ';

Exécution instance »

On obtient les résultats suivants:

escape using "\"
That's right

Vous pouvez séquencer# {expr} est remplacée par une chaîne d'expressions arbitraires Ruby utilisent.Ici, expr peut être toute expression Ruby.

#! / Usr / bin / ruby ​​-w

puts "Multiplication Valeur: # {24 * 60 * 60}";

On obtient les résultats suivants:

Valeur Multiplication: 86400
#!/usr/bin/ruby -w

name="Ruby" 
puts name 
puts "#{name+",ok"}" 

La sortie est la suivante:

Ruby
Ruby,ok

Backslash

Le tableau suivant présente le backslash Ruby pris en charge:

符号表示的字符
\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-xControl-x
\M-xMeta-x (c | 0x80)
\M-\C-xMeta-Control-x
\x字符 x

Pour plus de détails sur les chaînes Ruby, consultez la chaîne Ruby (String) .

tableau

Littéral de tableau par [] pour définir une définition de plage séparées par des virgules, et de soutien.

  • (1) à travers le réseau [] accès à l'index
  • (2) par l'affectation à insérer, supprimer, remplacer l'élément
  • (3) + - No. fusion et supprimer des éléments, et la collection comme une nouvelle collection apparaît
  • (4) par des éléments de données supplémentaires à la résolution d'origine <<
  • (5) en répétant le numéro d'élément de tableau *
  • (6) | et l'esperluette faire des opérations syndicales et intersection (notez l'ordre)

exemple:

Exemples

#! / Usr / bin / ruby
ary = [ "fred", 10, 3.14, "Ceci est une chaîne", "dernier élément",]
ary.each do | i |
met i
fin

Exécution instance »

On obtient les résultats suivants:

fred
10
3.14
Ceci est une chaîne
dernier élément

Pour plus de détails sur le tableau Ruby, voir le tableau Ruby (le tableau) .

Hash type

Ruby hash est placé entre accolades série de paires clé / valeur, utilisez des virgules entre les touches et les valeurs et la séquence => séparation. La virgule est ignoré.

Exemples

Exemples

#! / Usr / bin / ruby

hsh = couleurs = { "rouge" => 0xf00, "vert" => 0x0f0, "bleu" => 0x00f}
hsh.each do | clé, valeur |
touche d'impression, "est", la valeur, "\ n"
fin

Exécution instance »

On obtient les résultats suivants:

red is 3840
green is 240
blue is 15

Pour plus de détails sur le hachage Ruby, voir le hachage Ruby (le Hash) .

Type de plage

Une gamme représente une gamme.

Range est une valeur de début et une valeur de fin en définissant pour représenter. La gamme de s..e et s utilisable ... e pour construire, ou par Range.new construit.

Construit en utilisant .. courir à partir de la valeur de départ de la plage pour mettre fin à la valeur (y compris les valeurs de fin). ... Construit en utilisant une gamme run de la valeur de début à la fin la valeur (valeur de fin ne sont pas inclus). Lorsqu'il est utilisé comme un itérateur d'utiliser la gamme sera de retour chaque valeur dans la séquence.

Plage (1..5) signifie qu'il contient une valeur de 1, 2, 3, 4, 5, portée (1 ... 5) signifie qu'il contient la valeur 1, 2, 3, 4.

Exemples

Exemples

#! / Usr / bin / ruby

(10..15) .each do | n |
print n ','
fin

Exécution instance »

On obtient les résultats suivants:

10 11 12 13 14 15

Pour plus de détails sur la gamme Ruby, voir le Ruby Range (la gamme) .