Sintaks Ruby


Pada bagian ini kita akan mempelajari sintaks dasar yang bisa ataupun boleh digunakan dalam bahasa pemrograman Ruby.

Whitespace dalam Ruby

Secara umum, whitespace seperti spasi dan tabs akan diabaikan, kecuali mereka yang berada didalam strings. Terkadang, mereka digunakan untuk memperjelas statement atau pernyataan didalam Ruby yang masih ambigu.

# Baris kode pertama akan diterjemahkan sebagai `a + b` dimana a dan b bertindak sebagai local variable
a + b 

# Baris kode kedua akan diterjemahkan sebagai `a(+b)` dimana ini adalah pemanggilan method `+b` 
a +b

Line endings dan Ruby identifiers

Ruby menterjemahkan titik koma (;) dan baris baru sebagai akhir dari sebuah statement atau method. Tetapi, jika Ruby menemui operator seperti +, -, atau garis miring (/) diakhir baris kode, maka akan diindikasikan sebagai kode yang masih berlanjut.

# Titik koma sebagai akhir dari statement
def method; end;

# Baris baru sebagai akhir dari statement
def newline
end

# Contoh kode yang masih berkelanjutan, menggunakan operator tambah (+)
"hello" +
"world"

Identifiers atau pengidentifikasi adalah nama variable, constants dan methods. Identifiers Ruby bersifat case-sensitive, yang berarti ram dengan Ram atau RAM adalah entitas dan identifiers yang berbeda. Identifiers bisa terdiri dari huruf, angka atau alphanumeric dan garis bawah (_).

Reserved Words

Dibawah ini adalah kata-kata atau keyword yang tidak bisa digunakan sebagai identifier, atau dengan kata lain sudah di "pesan" oleh Ruby sehingga tidak bisa digunakan lagi oleh programmer, namun masih bisa digunakan sebagai nama method.

BEGIN do next then
END else nil true
true alias elsif not
undef and end or
unless begin ensure redo
until break false rescue
when case for retry
while class if return
yield def in self
__FILE__ defined? module super
__LINE__

Here Documents

Here documents adalah nama fungsi yang digunakan untuk membuat string dengan konten lebih dari satu baris.

#!/usr/bin/ruby

# Atau bisa juga ditulis menggunakan tambahan karakter hyphen (-)
# <<-EOF; EOF
print <<EOF
 This is the first way of creating
 here document ie. multiple line string.
EOF

print <<"EOF"; # sama dengan yang diatas
 This is the second way of creating
 here document ie. multiple line string.
EOF

print <<`EOC` # eksekusi perintah
 echo hi there
 echo lo there
EOC

print <<"foo", <<"bar" # atau bisa ditumpuk
 I said foo.
foo
 I said bar.
bar

Salin kode diatas kedalam sebuah file Ruby baru, kita beri nama here_doc.rb, lalu eksekusi di terminal dengan $ ruby here_doc.rb dan output yang dikeluarkan adalah:

$ ruby here_doc.rb
 This is the first way of creating
 here document ie. multiple line string.
 This is the second way of creating
 here document ie. multiple line string.
hi there
lo there
 I said foo.
 I said bar.

Di Ruby versi terbaru, terdapat satu cara tambahan dalam penulisan Here Documents. Sintaks yang digunakan adalah <<~EOF, dengan penambahan atau mengganti karakter hyphen (-) dengan tilda (~). Yang membedakan sintaks yang baru ini dengan sintaks yang sudah ada adalah hasil yang dikeluarkan memiliki identasi yang lebih rapih. Yakni identasi yang digunakan sesuai dengan yang kita ketik, bukan identasi yang ada pada teks editor yang kita gunakan. Sebagai contoh:

class Foo
  # Sintaks baru
  def new_syntax
    <<~EOF
      Ini multiline string baru
    EOF
  end

  # Sintaks yang sudah ada
  def existing_syntax
    <<-EOF
      Ini multiline string lama
    EOF
  end
end

# Output yang dihasilkan

  Ini multiline string baru
      Ini multiline string lama

Seperti yang kamu lihat, pada saat kita menulis kode didalam blok EOF, kita hanya menambahkan 2 (dua) spasi. Namun output yang dikeluarkan oleh masing-masing sintaks berbeda, yang mana disintaks lama menggunakan seluruh identasi yang ada di teks editor saat mengeluarkan output.

BEGIN dan END statement

Sintaks BEGIN digunakan jika ada kode yang ingin dieksekusi sebelum program dijalankan atau dimulai. Buat file baru dengan nama begin1.rb dan isi dengan kode berikut:

#!/usr/bin/ruby

puts "ini harus muncul kedua"

BEGIN { puts "ini harus muncul pertama"}

dan output yang dikeluarkan adalah:

$ ruby begin1.rb
ini harus muncul pertama
ini harus muncul kedua

Sintaks END digunakan jika ada kode yang ingin dieksekusi sesudah program selesai dijalankan atau dengan kata lain, akan dieksekusi paling akhir. Tulis kode dibawah ini pada sebuah file baru dengan nama end1.rb.

END { puts "ini harus keluar ketiga"}

puts "ini harus keluar kedua"

BEGIN { puts "ini harus keluar pertama"}

lalu eksekusi dengan perintah $ ruby end1.rb, maka output yang keluar didalam terminal adalah:

$ ruby end1.rb
ini harus keluar pertama
ini harus keluar kedua
ini harus keluar ketiga

Ruby Comments

Untuk menulis sebuah komentar dalam Ruby diawali dengan karakter hash atau tanda pagar (#).

# Ini adalah komentar
foo = "bar" # Ini akan diabaikan

results matching ""

    No results matching ""