Objective Caml: Standardverdier for funksjonsargumenter?

stemmer
10

I PHP, kan standardverdier for argumenter settes som følger:

function odp(ftw = OMG!!) {
   //...
}

Er det tilsvarende funksjonalitet i Objective Caml?

Publisert på 15/09/2009 klokken 03:04
kilden bruker
På andre språk...                            


1 svar

stemmer
25

Objective Caml har ikke valgposisjon parametre, fordi, siden Objective Caml støtter currying, hvis du utelater noen argumenter det bare ser ut som en delvis søknad. Men for navngitte parametre, er det valgfrie navngitte parametere.

Normale navngitte parametre er deklarert slik:

let foo ~arg1 = arg1 + 5;;

Valgfrie navngitte parametre er deklarert slik:

let odp ?(ftw = "OMG!!") () = print_endline ftw;;

(* and can be used like this *)
odp ~ftw:"hi mom" ();;
odp ();;

Merk at eventuelle valgnavngitte parametre må etterfølges av minst én ikke-valgfri parameter, fordi ellers f.eks "ODP" ovenfor ville bare se ut som en delvis søknad.

Svarte 15/09/2009 kl. 03:49
kilden bruker

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