Å legge til nye argument til en funksjon samtidig opprettholde bakoverkompatibilitet i Ruby

stemmer
0

Jeg har en gammel funksjon som kalles mange ganger i min søknad. Jeg ønsker å oppdatere den litt, som innebærer å legge til noen nye argumenter.

Da jeg skrev funksjonen, det gjorde jeg ikke forstår fordelene er å lage en hash den eneste parameter (nevnt her: http://www.skorks.com/2009/08/more-advanced-ruby-method-arguments-hashes-and motor blokker / )

Jeg har:

def old_function(some_arg)
 puts some_arg
end

Jeg ønsker å skrive om dette for å ta en hash som så:

def old_function(some_arg, hash)
   puts hash[:new_stuff] + -- + some_arg
end

Alt mens dette ikke bryte:

puts old_function('greetings')
Publisert på 28/08/2009 klokken 05:04
kilden bruker
På andre språk...                            


1 svar

stemmer
3

def old_function(some_arg, hash = {})
  ## Code
end

Den hash = {} setter nummerverdien til en tom hash hvis ingen er gitt slik at eldre koden vil fortsatt passere gjennom inn i fremgangsmåten.

Svarte 28/08/2009 kl. 05:06
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more