IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Haskell Discussion :

map en haskell


Sujet :

Haskell

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2015
    Messages : 6
    Points : 5
    Points
    5
    Par défaut map en haskell
    bonsoir , quelqu'un peut m'aider comment utiliser map en haskell?

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : avril 2003
    Messages : 6 245
    Points : 8 560
    Points
    8 560
    Par défaut
    C'est une fonction d'ordre supérieure, autrement dit son premier paramètre est la fonction à appliquer à chaque élément de la liste donnée en second paramètre :

    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    f x = x * 2
     
    liste = map f [1,2,3]

    `map f [1,2,3]` produit donc la liste `[f 1, f 2, f 3]` c'est-à-dire `[2, 4, 6]`.

    Note que dans cet exemple j'ai défini la fonction `f` à part mais on peut la définir localement :
    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    liste = map f [1,2,3]
      where f x = x * 2
    ou en utilisant une lambda expression (fonction anonyme) :
    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    liste = map (\x -> x * 2) [1,2,3]
    ou même avec une section d'opérateur :
    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    liste = map (*2) [1,2,3]

    Il est bien sûr possible d'utiliser des fonctions des librairies :
    Code Haskell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    longueurDesTextes = map length listeDeTextes

    --
    Jedaï

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2015
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Mercii Jedai

Discussions similaires

  1. [EJB2.1 Entity] [BES] Mapping automatique et clés étrangères
    Par Bobby McGee dans le forum Java EE
    Réponses: 3
    Dernier message: 15/10/2003, 10h33
  2. site web sur le Haskell
    Par ab_sam dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 30/09/2003, 12h11
  3. Réponses: 2
    Dernier message: 11/07/2003, 18h24
  4. Problème avec memory mapping
    Par gemai dans le forum C
    Réponses: 13
    Dernier message: 04/07/2003, 09h50
  5. Editeur de MAP en delphi pour jeux directX
    Par PetitScorpion dans le forum DirectX
    Réponses: 5
    Dernier message: 09/07/2002, 18h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo