Jenis data Ruby
Dalam bab ini kami akan memperkenalkan anda kepada jenis data asas Ruby.
Jenis data yang disokong oleh Ruby termasuk Nombor asas, Rentetan, Julat, Simbol dan nilai khas benar, palsu dan nihil, serta dua struktur data penting-Array dan Hash.
Jenis angka (Nombor)
1. Jenis integer (Integer)
Jenis integer terbahagi kepada dua jenis Jika ia berada dalam 31 bit (empat bait ), Itu ialah contoh Fixnum. Jika melebihi, ia adalah contoh Bignum.
Integer berjulat daripada -230 hingga 230-1 atau -262 hingga 262-1 . Integer dalam julat ini ialah objek kelas Fixnum dan integer di luar julat ini disimpan dalam objek kelas Bignum.
Anda boleh menggunakan simbol pendahulu pilihan sebelum integer, penunjuk asas pilihan (0 untuk perlapanan, 0x untuk hex, 0b untuk perduaan), diikuti dengan rentetan nombor. Aksara garis bawah diabaikan dalam rentetan angka.
Anda boleh mendapatkan nilai integer bagi aksara ASCII atau jujukan melarikan diri yang ditandakan dengan tanda soal.
Instance
123 # Fixnum 十进制 1_234 # Fixnum 带有下划线的十进制 -500 # 负的 Fixnum 0377 # 八进制 0xff # 十六进制 0b1011 # 二进制 "a".ord # "a" 的字符编码 ?\n # 换行符(0x0a)的编码 12345678901234567890 # Bignumrrree
Titik terapung
Ruby menyokong nombor titik terapung. Ia adalah nombor dengan perpuluhan. Nombor titik terapung ialah objek kelas Apung dan boleh menjadi mana-mana yang berikut.
Contoh
#整型 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
Operasi aritmetik
Operator tambah, tolak, darab dan bahagi: +-*/; operator eksponen ialah **
Eksponen tidak perlu menjadi integer, Contohnya
123.4 # 浮点值 1.0e6 # 科学记数法 4E20 # 不是必需的 4e+20 # 指数前的符号
Jenis rentetan
Rentetan Ruby hanyalah urutan bait 8-bit, yang merupakan objek String kelas.
Rentetan petikan berganda membenarkan penggantian dan penggunaan simbol rentetan petikan tunggal tidak membenarkan penggantian, dan hanya dua simbol garisan belakang \ dan ' dibenarkan.
Instance
Instance
#浮点型 f1=0.0 f2=2.1 f3=1000000.1 puts f3
Run Instance»
Klik butang "Run Instance" untuk lihat dalam talian Contoh
Ini akan menghasilkan hasil berikut:
#指数算术 puts 2**(1/4)#1与4的商为0,然后2的0次方为1 puts 16**(1/4.0)#1与4.0的商为0.25(四分之一),然后开四次方根
Anda boleh menggunakan jujukan #{ expr } untuk menggantikan nilai mana-mana ungkapan Ruby dengan rentetan. Di sini, expr boleh menjadi sebarang ungkapan Ruby.
#!/usr/bin/ruby -w puts 'escape using "\"'; puts 'That\'s right';
Ini akan menghasilkan keputusan berikut:
escape using "\" That's right
#!/usr/bin/ruby -w puts "Multiplication Value : #{24*60*60}";
Outputnya ialah:
Multiplication Value : 86400
Simbol backslash
Jadual berikut menyenaraikan garisan belakang yang disokong oleh Ruby Simbol garis miring:
符号 | 表示的字符 |
---|---|
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 |
Untuk butiran lanjut tentang rentetan Ruby, lihat Rentetan Ruby.
Array
Array literals ditakrifkan dalam [] dipisahkan dengan koma dan takrifan julat sokongan.
(1) Akses tatasusunan melalui [] indeks
(2) Memasukkan, memadam dan menggantikan elemen melalui operasi tugasan
(3) Cantumkan dan padamkan elemen melalui tanda +, - dan set itu muncul sebagai set baharu
(4) Gunakan tanda << untuk mengembalikan elemen tambah Data asal
(5) Ulang elemen tatasusunan
(6) Gunakan simbol dan & untuk melaksanakan penyatuan dan persilangan operasi (Perhatikan pesanan)
Instance:
Instance
#!/usr/bin/ruby -w name="Ruby" puts name puts "#{name+",ok"}"
Jalankan instance»
Klik butang "Jalankan Instance" untuk melihat contoh dalam talian
Ini akan menghasilkan keputusan berikut:
Ruby Ruby,ok
Untuk butiran lanjut tentang tatasusunan Ruby, lihat Ruby Susunan ( Array).
Jenis cincang
Pencincangan Ruby ialah siri pasangan kunci/nilai yang diletakkan di dalam kurungan kerinting, dipisahkan dengan koma dan jujukan =>. Tanda koma di belakang diabaikan.
Instance
Instance
#!/usr/bin/ruby ary = [ "fred", 10, 3.14, "This is a string", "last element", ] ary.each do |i| puts i end
Run Instance»
Klik butang "Run Instance" untuk lihat dalam talian Contoh
Ini akan menghasilkan keputusan berikut:
fred 10 3.14 This is a string last element
Untuk butiran lanjut tentang cincang Ruby, lihat Ruby Hashes (Hash).
Jenis julat
Julat mewakili selang.
Julat diwakili dengan menetapkan nilai mula dan nilai akhir. Julat boleh dibina menggunakan s..e dan s...e, atau melalui Range.new.Julat yang dibina menggunakan .. berjalan dari nilai mula hingga nilai akhir (termasuk). Julat yang dibina dengan ... berjalan dari nilai mula hingga nilai akhir (secara eksklusif). Apabila digunakan sebagai iterator, julat mengembalikan setiap nilai dalam jujukan.
Julat (1..5) bermakna ia mengandungi nilai 1, 2, 3, 4, 5, julat (1...5) bermakna ia mengandungi nilai 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
Run Instance»
Klik butang "Run Instance" untuk lihat dalam talian Contoh
Ini akan menghasilkan keputusan berikut:
red is 3840 green is 240 blue is 15
Untuk butiran lanjut tentang julat Ruby, lihat Julat Ruby.