Ruby-Datentyp
In diesem Kapitel werden wir Ruby-Basisdatentypen vorstellen.
Rubin Unterstützte Datentypen umfassen grundlegende Anzahl, String, Ranges, Symbole, und wahr, falsch und gleich Null diese besonderen Werte, sowie zwei wichtige Datenstrukturen --Array und Hash.
Werttyp (Anzahl)
1, Integer (Integer)
Ganze Zahl zwei, wenn 31 oder weniger (vier Bytes), ist es Fixnum Instanz. Wenn ja, ist Bignum Instanz.
Integer Bereich von -2 oder -2 30-2 30-1 62-2 62-1. Integer in diesem Bereich ist die KlasseFixnumObjekt ganze Zahl außerhalb des Bereichs dieser KlasseBignumObjekte gespeichert.
Sie können ein optionales Präambel-Symbol vor einer ganzen Zahl, eine optionale Base-Indikator verwenden (0 für oktal, 0x hex entsprechen, 0b für binäre entspricht), durch eine Reihe von Zahlen gefolgt. Unterstreichungszeichen Ziffernfolge werden ignoriert.
Sie können ein ASCII-Zeichen oder einen ganzzahligen Wert Escape-Sequenz mit Fragezeichen zu bekommen.
Beispiele
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
Schwimmer
Ruby-Unterstützung Floating-Point. Sie sind Zahlen mit Dezimalstellen. FloatFloatist eine Klasse von Objekten, und kann einer der folgenden sein.
Beispiele
123.4 # 浮点值 1.0e6 # 科学记数法 4E20 # 不是必需的 4e+20 # 指数前的符号
#浮点型 f1=0.0 f2=2.1 f3=1000000.1 puts f3
Rechenoperation
Arithmetische Operatoren: + - * /; Operator Index **
Index muss nicht eine ganze Zahl sein, z.B.
#指数算术 puts 2**(1/4)#1与4的商为0,然后2的0次方为1 puts 16**(1/4.0)#1与4.0的商为0.25(四分之一),然后开四次方根
String-Typ
Ruby-String ist einfach eine Folge von 8-Bit-Bytes, die die Klasse String-Objekt ist.
String von doppelten Anführungszeichen und Schrägstriche erlauben Ersatzzeichenfolgen sind nicht die einfachen Anführungszeichen zu ersetzen erlaubt und erlaubt nur die Verwendung von \\ und \ 'zwei Backslash.
Beispiele
Beispiele
puts "Escape" \\ " ';
setzt 'That \' s Recht ';
Ausführung einer Instanz »
Daraus ergeben sich die folgenden Ergebnisse:
escape using "\" That's right
Sie können# Folge {expr}ist mit einer Reihe von beliebigen Ruby - Ausdrücke verwenden , ersetzt. Hier kann ausdr jeder Ruby-Ausdruck sein.
#! / Usr / bin / ruby -w setzt "Multiplikationswert: # {24 * 60 * 60}";
Daraus ergeben sich die folgenden Ergebnisse:
Multiplikationswert: 86.400
#!/usr/bin/ruby -w name="Ruby" puts name puts "#{name+",ok"}"
Die Ausgabe ist:
Ruby Ruby,ok
Aufkantung
In der folgenden Tabelle sind die unterstützten Ruby-Backslash:
符号 | 表示的字符 |
---|---|
\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 |
Weitere Informationen zu Ruby - Strings finden Sie in der Ruby - String (String) .
Feld
Arrayliteral durch [] eine durch Kommata getrennt und Unterstützung Bereichsdefinitionen zu definieren.
- (1) durch das Array [] Indexzugriff
- (2) durch Zuordnung einfügen, löschen, ersetzen Element
- (3) + - Nr merge und Elemente zu löschen, und die Sammlung als eine neue Kollektion erscheint
- (4) durch zusätzliche Datenelemente die ursprüngliche Auflösung <<
- (5) durch Wiederholung Array Elementnummer *
- (6) | und das Ampersand tun Vereinigung und Schnitt-Operationen (man beachte die Reihenfolge)
Beispiel:
Beispiele
ary = [ "fred", 10, 3,14, "Dies ist ein String", "letzte Element",]
ary.each tun | i |
setzt i
Ende
Ausführung einer Instanz »
Daraus ergeben sich die folgenden Ergebnisse:
fred 10 3.14 Dies ist ein String letzte Element
Für weitere Details über die Ruby - Array finden Sie in der Ruby - Array (das Array) .
Hashtyp
Ruby-Hash in Klammern Reihe von Schlüssel / Wert-Paare gesetzt wird, verwenden Sie Kommas zwischen den Schlüsseln und Werten und Reihenfolge => Trennung. Nachgestellte Komma wird ignoriert.
Beispiele
Beispiele
hsh = Farben = { "rot" => 0xf00, "grün" => 0x0f0, "blue" => 0x00f}
hsh.each tun | key, value |
Drucktaste, "ist", den Wert, "\ n"
Ende
Ausführung einer Instanz »
Daraus ergeben sich die folgenden Ergebnisse:
red is 3840 green is 240 blue is 15
Für weitere Informationen über die Ruby - Hash finden Sie in der Ruby - Hash (der Hash) .
Sortiment
Ein Bereich stellt einen Bereich.
Range ist ein Startwert und ein Endwert von darzustellen Einstellung. Die Palette der nutzbaren sdee und s de. e zu konstruieren, oder durch Range.new konstruiert.Konstruiert aus dem Bereich Startwert mit de laufen Wert zu beenden (einschließlich der Endwerte). de. Konstruiert einen Bereich laufen von Startwert mit Wert zu beenden (Wert Ende ist nicht enthalten). Wenn als Iterator verwendet, um den Bereich zu verwenden, wird jeder Wert in der Folge zurück.
Bereich (1de5) bedeutet, dass es einen Wert von 1, enthält 2, 3, 4, 5, Bereich (1 de. 5) bedeutet, dass er den Wert 1 enthält, 2, 3, 4.
Beispiele
Beispiele
(10de15) .each tun | n |
Druck n, ''
Ende
Ausführung einer Instanz »
Daraus ergeben sich die folgenden Ergebnisse:
10 11 12 13 14 15
Für weitere Details über die Ruby - Bereich finden Sie in der Ruby Range (Bereich) .