Poczatkujacy Ruby_ Class

Czesc
Dopiero zaczyna zabawe z Ruby. Chcialem na poczatek napisac program ktory bedzie dodawal 2 liczby za pomaca klasy :smile:

class Gauss

	def oblicz 
		return a+b 
	end
	
end
	
puts ("Podaj liczbe 1")
a=gets
a=a.to_f
puts ("Podaj liczbe 2")
b=gets
b=b.to_f
	
moj= Gauss.new 
puts(moj.oblicz)  

I oczywiscie sie nie oblicza. Czego zapomnialem ?
Dziekuje z góry za pomoc .

W klasie Gasuss używasz zmiennych instancji (klasowych) a i b. Po deklaracji klasy wczytujesz dane z wejścia (z klawiatury), ale nie przekazujesz ich do klasy.

Najprostsza implementacja tego co chcesz osiągnąć wyglądała by tak:

class Gauss
  def oblicz(a, b)
    return a + b
  end
end

puts("Podaj liczbe 1")
a = gets
a = a.to_f
puts("Podaj liczbe 2")
b = gets
b = b.to_f

moj = Gauss.new 
puts(moj.oblicz(a, b))

A bardziej prawidłowe to przekazanie zmiennych a i b w konstruktorze:

class Gauss
  attr_reader :a, :b

  def intialize(a, b)
    @a = a
    @b = b
  end

  def oblicz
    return a + b
  end
end

puts("Podaj liczbe 1")
a = gets
a = a.to_f
puts("Podaj liczbe 2")
b = gets
b = b.to_f

moj = Gauss.new(a, b)
puts(moj.oblicz)

Tak myslalem ze nie przekazuje ich prawidlowo. Dziekuje za odpowiedz :smile:
Zapewne nie raz będe tutaj pisał :slight_smile:
Pozdrawiam