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.