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
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-x | Control-x |
\M-x | Meta-x (c | 0x80) |
\M-\C-x | Meta-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
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
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
Questo produce i seguenti risultati:
10 11 12 13 14 15
Per ulteriori dettagli sulla gamma Ruby, vedere la gamma di Ruby (Range) .