Ruby Bandingkan String

Perbandingan string adalah proses mengevaluasi dua literal string menggunakan ekspresi kondisional yang mengembalikan nilai Boolean benar atau salah.

Di Ruby, kita dapat melakukan operasi perbandingan string menggunakan berbagai metode, seperti yang dibahas dalam tutorial ini.

1. Operator Kesetaraan

Dua tanda sama dengan menunjukkan operator kesetaraan di Ruby. Ini mengembalikan true jika kedua objek sama dan salah jika sebaliknya.

var1 = “Hello”
var2 = “Hello”
var1 == var2
=> true

Operator kesetaraan tidak peduli selama kedua objek yang disediakan adalah string yang valid

var1 = 'Hello'
var2 = "Hello"
var2 == var1
=> true

Jika string tidak sama, operator kesetaraan akan mengembalikan false.

var1 = "Hello"
var2 = "World"
var1 == var2
=> false

Anda dapat melakukan lebih dari sekadar membandingkan variabel string. Anda juga dapat membandingkan string literal sebagai:

"hello" == "zero"
=> false

Baik untuk dicatat bahwa string numerik tidak dapat dibandingkan secara langsung dengan nilai integer.

2 == "2"
=> false

2. Tidak Setara

Operator not equal, dilambangkan sebagai !=, mengembalikan nilai true jika nilai yang dibandingkan tidak sama dan false jika sama. Ini bertindak sebagai negasi dari operator kesetaraan.

"hello" != "hello"
=> false

Jika nilai yang dibandingkan tidak sama, ia mengembalikan true sebagai:

"hello" != "Hello"
=> true

3. Persamaan? metode

Ruby memiliki metode string bawaan yang disebut eql?. persamaan? metode memeriksa apakah nilainya sama dalam panjang dan konten. persamaan? metode mengembalikan true jika nilai yang dibandingkan sama atau tidak.

Contoh:

var1 = “HELLO”
var1.eql?("HELLO")
=> true

Dalam hal ini, kedua string memiliki panjang dan konten yang sama.

persamaan? metode peka huruf besar-kecil dan akan mengembalikan false jika selubungnya tidak sama

var1 = “HELLO”
var1.eql?("hello")
=> false

Berbeda dengan operator kesetaraan yang mengembalikan nilai true ketika Anda membandingkan bilangan bulat dan float, persamaan eql? metode mengembalikan false sebagai:

10 == 10.0
=> true
10.eql?10.0
=> false

4. Setara? metode

Berbeda dengan operator kesetaraan yang memeriksa apakah kedua nilai sama, apakah sama? metode memeriksa apakah kedua operan mereferensikan objek yang sama.

var1 = "hello"
var2 = "hello"
var1.equal? var2
=> false

Anda akan melihat bahwa metode mengembalikan false karena nilainya tidak mereferensikan objek yang sama. Anda bisa mendapatkan ini menggunakan object_id sebagai:

var1.object_id
=> 280
var2.object_id
=> 300

Contoh kedua operan yang menunjuk ke objek yang sama adalah seperti yang ditunjukkan:

var2 = var1
var1.equal? var2
=> true
var1.object_id
=> 280
var2.object_id
=> 280

5. Notasi Pesawat Luar Angkasa

Ruby juga menyediakan cara untuk membandingkan string yang dikenal sebagai notasi pesawat ruang angkasa. Kami menyatakan ini dengan tanda kurang dari, tanda sama dengan, dan lebih besar dari operator.

Metode mengembalikan 0 jika string cocok -1 jika operan kiri lebih kecil dari operan kanan, dan 1 jika operan kanan lebih besar dari operan kiri.

"hello" <=> "hello"
=> 0
"HELLO" <=> "hello"
=> -1
"hello" <=> "HELLO"
=> 1

6. Metode Casecmp

Untuk melakukan perbandingan case-sensitive, Anda dapat menggunakan metode casecmp. Ini memiliki nilai kembali yang mirip dengan notasi pesawat ruang angkasa.

"Hello".casecmp "hello"
=> 0

Metode ini mengabaikan sensitivitas huruf besar-kecil dan hanya membandingkan konten string.

7: Perbandingan Rentang

Untuk membandingkan ap
akah suatu karakter berada dalam rentang tertentu, kita dapat menggunakan operator rentang, disumbangkan menggunakan tanda sama dengan tiga kali lipat ===

("a".."g") === "d"
=> true
("a".."g") === "z"
=> false

Operator mengembalikan nilai true jika karakter berada dalam rentang dan false jika sebaliknya.

Kesimpulan

Dalam panduan ini, kami membahas berbagai cara untuk membandingkan string dalam bahasa Ruby.

Terima kasih telah membaca!

Related Posts