NoMethodError Nedir?
Mesela şöyle bir durum düşünün:
```ruby
class Car
def start_engine
puts "Motor çalıştı!"
end
end
my_car = Car.new
my_car.start_engin # Yazım hatası
```
Burada, `my_car.start_engin` satırında bir yazım hatası yapıldığını görebiliyoruz. Ruby, `start_engin` adında bir metodun olmadığını fark edecek ve size NoMethodError hatasını verecek.
NoMethodError Çözümü İçin İpuçları
Yazım hataları, NoMethodError hatasının en yaygın sebeplerindendir. Kodunuzda bir metod ismi yanlış yazıldığında, Ruby bunu bulamaz ve hata verir. Her zaman metod isimlerini dikkatlice yazın.
```ruby
# Doğru:
my_car.start_engine
# Yanlış:
my_car.start_engin # Yazım hatası
```
# 2. Nesne Türünü Kontrol Et
```ruby
class Dog
def bark
puts "Hav hav!"
end
end
# Nesne türü yanlış
my_cat = Dog.new
my_cat.bark # Hata vermez ama yanlış nesne!
```
# 3. Metodun Tanımlandığından Emin Olun
Hata Mesajını Anlayın
```ruby
NoMethodError (undefined method `start_engin' for #
```
Bu hata mesajı, `Car` nesnesinin `start_engin` metodunu bulamadığını belirtir. Bu tür mesajlar, hatayı hızlıca çözmenizi sağlar.
Ruby'de Hatalarla Dost Olun
Bu hataya sıkça denk geliyorsanız, artık bir sorun olmadığını fark edeceksiniz. Hatalar, öğrenme sürecinin bir parçasıdır ve zamanla daha az hata yapacak, daha verimli kodlar yazacaksınız.