Latest web development tutorials

Rubino tipo di dati

In questo capitolo saranno presentati rubino tipi di dati di base.

Rubino supportati i tipi di dati includono numero di base, String, Ranges, simboli, e vero, falso, e nil questi valori speciali, oltre a due strutture di dati importanti --Array e Hash.


Tipo di valore (numero)

1, Integer (Intero)

Integer due, se 31 o meno (quattro byte), è esempio Fixnum. Se è così, è esempio bignum.

gamma intero da -2 o -2 30-2 30-1 62-2 62-1. Integer in questa gamma è la classeFixnumoggetto intero memorizzato al di fuori della portata di questa classe di oggettibignum.

È possibile utilizzare un simbolo preambolo opzionale di fronte a un numero intero, un indicatore base opzionale (0 per ottale, 0x corrispondono esadecimale, 0B corrispondente al binario), seguito da una stringa di numeri. carattere di sottolineatura stringa numerica vengono ignorati.

È possibile ottenere un carattere ASCII o di una sequenza di escape valore intero con punti interrogativi.

Esempi

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 

galleggiante

Supporto Rubino in virgola mobile. Si tratta di numeri con i decimali. FloatFloatè una classe di oggetti, e può essere uno qualsiasi dei seguenti.

Esempi

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

operazione aritmetica

operatori aritmetici: + - * /; operatore all'indice **

Indice non deve essere un numero intero, ad esempio

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

tipo String

stringa di Ruby è semplicemente una sequenza di byte a 8 bit, che è l'oggetto della classe String.

Serie di virgolette doppie e backslash consentono stringhe di sostituzione non sono autorizzati a sostituire le virgolette, e consente solo l'utilizzo di \\ e \ 'due backslash.

Esempi

Esempi

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

puts 'fuga utilizzando "\\"';
mette 'That \' s destra ';

esempio »Esecuzione

Questo produce i seguenti risultati:

escape using "\"
That's right

È possibile sequenza# {espr} viene sostituito con una serie di arbitrarie espressioni di Ruby usano.Qui, espr può essere qualsiasi espressione Ruby.

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

mette "Moltiplicazione Valore: # {24 * 60 * 60}";

Questo produce i seguenti risultati:

Moltiplicazione Valore: 86400
#!/usr/bin/ruby -w

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

L'uscita è:

Ruby
Ruby,ok

Barra rovesciata

La seguente tabella elenca il backslash Rubino supportato:

符号表示的字符
\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

Per maggiori dettagli su stringhe di Ruby, vedere la stringa di Ruby (String) .

schieramento

Array letterale [] per definire un separati da virgola, e di supporto definizioni gamma.

  • (1) attraverso l'array [] accesso Indice
  • (2) mediante assegnazione di inserire, eliminare, sostituire l'elemento
  • (3) + - No. merge ed eliminare gli elementi, e la collezione come appare una nuova collezione
  • (4) da elementi di dati aggiuntivi la risoluzione originale <<
  • (5) ripetendo numero di elemento di matrice *
  • (6) | e la e commerciale fare operazioni unione e intersezione (notare l'ordine)

esempio:

Esempi

#! / Usr / bin / ruby
ary = [ "fred", 10, 3.14, "Questa è una stringa", "ultimo elemento",]
ary.each fare | i |
mette i
fine

esempio »Esecuzione

Questo produce i seguenti risultati:

fred
10
3.14
Questa è una stringa
ultimo elemento

Per maggiori dettagli sulla matrice di Ruby, vedere la Array Rubino (Array) .

Tipo hash

Rubino hash è posto tra parentesi graffe serie di coppie chiave / valore, utilizzare le virgole tra le chiavi ei valori e la sequenza => separazione. Trailing virgola viene ignorato.

Esempi

Esempi

#! / Usr / bin / ruby

HSH = colori = { "red" => 0xf00, "verde" => 0x0f0, "blu" => 0x00f}
hsh.each fare | chiave, valore |
tasto di stampa, "è", il valore, "\ n"
fine

esempio »Esecuzione

Questo produce i seguenti risultati:

red is 3840
green is 240
blue is 15

Per maggiori dettagli su l'hash di Ruby, vedere l' hash di Ruby (Hash) .

Tipo Range

Una gamma rappresenta una gamma.

Range è un valore iniziale e un valore finale impostando a rappresentare. La gamma di s..e utilizzabile e s ... e di costruire, o Range.new costruito.

Costruito utilizzando .. eseguito dal valore iniziale gamma di valori (valori estremi inclusi) finire. ... Costruito utilizzando una corsa range da valore iniziale fino al valore finale (valore finale non è incluso). Quando viene utilizzato come un iteratore di utilizzare la gamma tornerà ogni valore nella sequenza.

Range (1..5) significa che contiene un valore di 1, 2, 3, 4, 5, range (1 ... 5) significa che contiene il valore 1, 2, 3, 4.

Esempi

Esempi

#! / Usr / bin / ruby

(10..15) .Ogni fare | n |
stampa n, ''
fine

esempio »Esecuzione

Questo produce i seguenti risultati:

10 11 12 13 14 15

Per ulteriori dettagli sulla gamma Ruby, vedere la gamma di Ruby (Range) .