Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    353

    Ocaml - passare funzione come argomento

    E' possibile passare una funzione come argomento di un' altra funzione?
    Grazie in anticipo

  2. #2
    Ovviamente sì. OCaml è un (bel) linguaggio funzionale in piena regola, e supporta pienamente tra l'altro funzioni di ordine superiore, funzioni anonime, currying... leggi ad esempio qui una concisa ma corretta trattazione in merito.
    • Un plauso a Grisha Perelman, raro esempio di genuino anticonformismo umano e scientifico.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    353
    si può avere un esempio pratico?

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Quote Originariamente inviata da CodiceProg Visualizza il messaggio
    si può avere un esempio pratico?
    Apri il link.
    Comunque basta che scrivi il nome della funzione.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    353
    ok,però se ad esempio se si dovesse fare una funzione che ricopia una lista di interi; se il numero è pari lo copia così com' è , altrimenti esegue il su di esso una funzione
    Si dovrebbero fare 2 funzioni "annidate"?

  6. #6
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Quote Originariamente inviata da CodiceProg Visualizza il messaggio
    ok,però se ad esempio se si dovesse fare una funzione che ricopia una lista di interi; se il numero è pari lo copia così com' è , altrimenti esegue il su di esso una funzione
    Si dovrebbero fare 2 funzioni "annidate"?
    Puoi fare tutto tramite higher-order functions
    codice:
    let map_if_even g = 
        let if_even g x = if (x mod 2) == 0 then g x else x
        in List.map (if_even g)
    Edit: In ogni caso questi sono concetti che stanno alla base del linguaggio, per cui, anche se ho risposto a questa tua richiesta, non risponderò ulteriormente se non dimostri di studiare almeno le basi e di comprendere ciò che ho scritto.
    Non sto dicendo ciò per suonare antipatico, ma proprio perché non ha senso scriverti cose che non comprendi.
    Ultima modifica di Scara95; 05-06-2014 a 14:22
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.