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 # Bignum
rrree

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#中的/**/ 
=end
rrree

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-xControl-x
M-xMeta-x (c | 0x80)
M-C-xMeta-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.