Evan Phoenix, yang merupakan pencipta Rubinius, menjelaskan bahwa parser MRI yang merupakan intepreter default untuk Ruby memiliki message yang cukup sulit untuk dimengerti. Salah satunya adalah ketika lupa menulis 'end' dalam sebuah method atau class, maka akan muncul pesan unexpected $end, expecting kEND
Berikut ini adalah contoh yang dapat memunculkan pesan error diatas:
class Human
def say
if current_user
puts "hello"
end
end
Mungkin contoh diatas mudah diperbaiki, namun jika dalam membangun sebuah program yang memiliki baris kode lebih dari seribu dan sangat kompleks, tentu error tersebut lebih sulit ditemukan. Pada Rubinius, pesan tersebut diubah sehingga akan membuat programmer lebih mudah dalam melakukan debugging.
Pada pesan
syntax error, unexpected $end, expecting kEND
diubah menjadi seperti dibawah ini pada contoh kasus diatas
missing ‘end’ for ‘class’ started on line 1.
Pesan error tersebut menjelaskan bahwa elemen 'end' dibutuhkan pada 'class' pada baris pertama. Walaupun masih jauh dari sempurna, namun setidaknya error message tersebut lebih jelas dibandingkan MRI.
0 comments:
Post a Comment