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)