Yukihiro "Matz" Matsumoto

Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.
Yukihiro "Matz" Matsumoto, Creator of Ruby

Selasa, 07 Oktober 2014

Perbedaan Antara Single Quoted String dan Double Quoted String Pada Ruby

Didalam Ruby terdapat banyak alternatif yang dapat dilakukan dalam penulisan objek string, yaitu single quoted, double quoted, heredoc, dan ERB(Embedded Ruby) yang digunakan dalam sebagian besar template view Rails. Berikut, saya akan menjelaskan dasar dan perbedaan antara single quoted dan double quoted string, yang paling banyak digunakan dalam penulisan program Ruby.

Single Quoted

Untuk membuat objek string menggunakan single quoted string anda hanya menggunakan tanda petik tunggal di awal dan di akhir.

irb > 'hello john'

Apabila anda membuat string yang didalamnya terdapat tanda petik tunggal seperti di bawah ini

irb >'he's john'

Maka Ruby tidak dapat menginterpretasi objek string tersebut dengan baik, karena tanda petik tunggal digunakan untuk mengawali dan mengakhiri string yang dibuat dengan single quoted string.
Untuk mengatasinya, maka digunakan escape character menggunakan backslah (\)

irb > puts 'he\'s john'
he's john

Untuk menggabungkan variabel string dalam single quoted string dapat digunakan operator + seperti dibawah ini

irb > name = 'john'
irb > puts 'hello' + name
hello john

Apabila variabel string yang anda ingin gabungkan berupa angka, anda tidak dapat melakukannya langsung, sebelumnya anda harus memanggil method to_s pada objek tersebut untuk mengonversi objek tersebut dari integer ke string.

irb > age = 5
irb > puts 'john\'s age is ' + age.to_s
john's age is 5

Double Quoted String

Untuk membuat objek string menggunakan double quoted string, anda hanya menggunakan tanda petik ganda di awal dan di akhir seperti ini

irb > "I am John"

Apabila dalam string anda terdapat tanda petik ganda maka anda dapat menggunakan cara yang sama dengan single quoted, yaitu menggunakan escape character backslash

irb > puts "John said \"Hello, how are you ?\""
John said "Hello, how are you?"

Perbedaan yang paling utama antara single quoted dan double quoted string adalah interpolasi. Dalam double quoted terdapat interpolasi dimana interpreter ruby dapat mencari dan melakukan interpolasi menggunakan simbol #{} seperti contoh dibawah ini

irb > name = "alfian"
irb > puts "Hello #{name}"
Hello alfian

Interpolasi ini memudahkan dan mempersingkat waktu anda dalam penggabungan string, karena anda tidak perlu menggunakan operator + dan mengonversi objek integer ke dalam string pada saat anda menggunakan interpolasi

irb > age = 26
irb > name = "alfian"
irb > puts "#{name}'s age is #{age} years old"
alfian's age is 26 years old

Anda bahkan dapat melakukan berbagai macam ekspresi didalam interpolasi

irb > age1 = 26
irb > age2 = 5
irb > name1 = "john"
irb > name2 = "alfian"
irb > puts "#{name1.capitalize}'s age is #{age1 - age2} younger than #{name2.capitalize}'s"
John's age is 21 younger than Alfian's

Anda dapat memilih metode mana yang anda lebih suka dalam membuat objek string, single quoted string lebih efisien dan cepat dalam penggunaan memori karena intrepreter tidak perlu mencari interpolasi seperti pada double quoted string. Tetapi perbedaannya tidak terlalu signifikan, saya sendiri hampir 99% menggunakan double quoted string dalam keseharian saya.

Tidak ada komentar:

Posting Komentar