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.
Website yang dibuat oleh fans bahasa pemrograman Ruby. Website ini memberikan segala tips untuk Ruby dan Rails.
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
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar