Ciao a tutti,

stavo provando un semplice script di esempio e mi rimane un dubbio.

Seguendo una guida ho creato questo semplice blocco di codice:

codice:
class Camion

  def initialize(posti,carburante)  
      @posti = posti
      @carburante = carburante
  end
  
  def posti
    return @posti
  end
  
  def posti(nuovi_posti)
      @posti = nuovi_posti
  end

end

c = Camion.new(30,100)
puts c.posti
Convinto che i due metodi "posti" non conflittassero per la diversa "firma".

Ed invece eseguendo il file mi ritrovo un messaggio di errore:
"...`posti': wrong number of arguments (0 for 1) (ArgumentError)"

Questo perchè, molto probabilmente, la chiamata a c.posti si aspetta il secondo metodo e non il primo.

Ovviamente se cambio nome al secondo metodo si sistema tutto ma vorrei capire il perchè dell'errore.

Grazie in anticipo.