Hi Richard,
You definitely missed a couple of important topics about OOP and
encapsulation in particular.
Take a look on attribute accessors in Java (as example), so you could
understand how it work in ruby and what attr_accessor key word does.
This guy has a nice explanation (cannot say it about his english, so you
can look for similar guide in Spanish)
https://www.youtube.com/watch?v=VOR-uQCCbcw
You need more practice and at least one good book about the way ruby
works, because without any background you will be thinking that the
whole mess you can find in Ruby is the right way to do things.
Think about an example below:
class Auto
attr_accessor :auto01, :auto02
def initialize(auto01,auto02)
@auto01 = auto01
@auto02 = auto02
end
def calcular_neto
auto01 = 1
# what will happend here? what are local variables?
puts auto01
# why have I used "@" symbol. Why is it needed
puts @auto01
puts auto02
# Would be result the same if I changed auto01 to
@auto01
(auto01 + auto02)*0.18 + auto01 + auto02
end
# think about this one. Why it has get prefix?
# why do we need return? What does ruby return and when?
# Is there a difference between "@" and "self"?
# what will be the result?
def get_neto
return (@auto01 + @auto02)*0.18 + self.auto01 + self.auto02
end
end
Check it out please, and post here further questions