Kemiripan Ruby dan PHP
Seperti di PHP, kalau di Ruby…
- Ruby dynamically typed, sama seperti di PHP, jadi Anda tidak perlu khawatir akan kewajiban untuk mendeklarasikan variabel.
- Ada class, dan Anda dapat mengatur akses kontrol ke setiap member sama seperti di PHP 5 (
public
,protected
, danprivate
) - Beberapa variabel dan variabel global dimulai dengan tanda dolar ($), seperti di PHP (tetapi sebagian besar variabel yang Anda gunakan sehari-hari tidak diawali dengan tanda $)
- Ada
eval
juga. - Anda bisa menggunakan interpolasi string. Daripada melakukan ”$foo is a $bar”, Anda bisa melakukan ”#{foo} is a #{bar}”, sama seperti di PHP, ini tidak berlaku untuk string yang menggunakan petik tunggal (harus petik ganda)
- Ada heredocs untuk mengisi string lebih dari satu baris dengan mudah. Ruby juga mempunyai beberapa cara lain untuk mengisi string misalnya dengan sintaks
%q{ string }
dan%Q{ string #{foo} }
- Ruby punya fitur exception, seperti PHP 5
- Ada library standar yang lumayan besar. Plus ribuan library lain di Rubygems, Ruby Application Archive dan plugins untuk Ruby on Rails.
- Array dan hash bekerja sebagaimana mestinya, jadi Anda tinggal mengganti kebiasaan
array('a' => 'b')
menjadi{'a' => 'b'}
. true
danfalse
berperilaku sama seperti di PHP, tetapinull
disebutnil
Perbedaan Ruby dan PHP
Tidak seperti di PHP, di Ruby…
- Ruby menggunakan strong typing. Anda perlu memanggil
to_s
,to_i
dan seterusnya untuk mengkonversi antarastring
,integer
dan seterusnya, daripada bergantung pada bahasa untuk melakukannya. Ini memastikan bahwa program tidak akan melakukan kesalahan yang tidak Anda inginkan, dan mempermudah debugging. - String, number, array, hash, dan seterusnya adalah obyek. Dalam pemrograman berorientasi obyek sebenarnya, yang digunakan adalah
-1.abs
, bukanabs(-1)
- Ketika memanggil metode, tidak ada keharusan untuk memakai tanda kurung, kecuali kalau ingin mengklarifikasikan parameter yang mana yang masuk ke pemanggilan metode tertentu yang mana (agar tidak ambigu). Contoh:
puts "Ruby keren"
adalah sama persis denganputs("Ruby keren")
. - Library standar dan extension dikelompokkan di module atau mixin dan class (kelas).
- Ruby tidak menggunakan penamaan berbasis underscore untuk memisahkan bagian-bagian library seperti di PHP (Contoh:
mysql_connect
). Ruby mengorganisasi library ke dalam struktur module dan class yang lebih mudah diingat. (penjelasan) - Reflection sudah merupakan fasilitas bawaan setiap obyek. Anda tidak perlu menggunakan kelas
Reflection
seperti di PHP 5. - Variabel merupakan reference.
- Tidak ada class bersifat
abstract
atau deklarasiinterface
- Hash dan array tidak boleh ditukar-tukar, karena keduanya termasuk dua kelas yang berbeda.
- Hanya
false
dannil
yang bernilai false, semua nilai selain itu mengembalikan nilaitrue
dalam conditional (0
,array()
, dan""
dianggap bernilaitrue
) - Hampir semua statemen di Ruby adalah pemanggilan metode, bahkan
raise
juga merupakan pemanggilan metode (kalau di PHP ekivalen denganthro
maaf numpang comment
BalasHapuswarna baground sama huruf nggak cocok...