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

Langage Pascal Discussion :

Existe-t-il en Pascal des listes similaires à celles de Python ?


Sujet :

Langage Pascal

  1. #1
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut Existe-t-il en Pascal des listes similaires à celles de Python ?
    Bonjour

    J'aimerais savoir si le langage Pascal a un système de liste +ou- similaire à
    Python.
    Du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Reponse := ['Pierre','Feuille','Ciseaux'];
    Et après pouvoir utiliser 'in'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if MaReponse in Reponse then
      write('Réponse valide');
    Merci

    Titeeee

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    oui mais pas de la même manière

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    type
      Reponse = (Pierre, Feuille, Ciseaux);
    var
      MaReponse : Reponse;
    begin
      if MaReponse in [Pierre, Ciseaux] then ...
    end;
    mais MaReponse ne peux pas prendre une valeur en dehors de celles définies.

    sinon tu peux écrire une fontion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function InList(const Str:string; const Values : array of string):Boolean;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Il n'existe pas en Pascal standard, des listes comparables à celles de Python.

    Les listes en Python sont des tableaux extensibles, et sont des objets.

    En pascal Objet - FreePascal par exemple-, il y a des listes dynamiques qui font tous ce que font les liste en python : par exemple la classe TStringList

  4. #4
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    En pascal Objet - FreePascal par exemple-, il y a des listes dynamiques qui font tous ce que font les liste en python : par exemple la classe TStringList

    Je crois que ce n'est pas tout à fait exact étant donné que la classe TStringList hérite comme son nom l'indique de la classe TStrings qui est dédiée au type String (chaîne caractère) :
    TStrings implements an abstract class to manage an array of strings. It introduces methods to set and retrieve strings in the array, searching for a particular string, concatenating the strings and so on. It also allows an arbitrary object to be associated with each string.
    Il y a ensuite des méthodes de transtypage qu'il faut utiliser. Les listes Python sont beaucoup plus souples, elles sont non typées (typage dynamique).
    On peut donc faire avec TStringList tout ce qu'on peut faire avec les listes Python si et uniquement si on n'a à manipuler que des chaînes caractères. Après tout est possible mais passer d'un langage à typage dynamique à un langage à typage statique fort comme Pascal/pascal Objet suppose de regarder d'un peu plus près ce qui se passe.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  5. #5
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par richard Voir le message
    Il y a ensuite des méthodes de transtypage qu'il faut utiliser. Les listes Python sont beaucoup plus souples, elles sont non typées (typage dynamique).
    On peut donc faire avec TStringList tout ce qu'on peut faire avec les listes Python si et uniquement si on n'a à manipuler que des chaînes caractères. Après tout est possible mais passer d'un langage à typage dynamique à un langage à typage statique fort comme Pascal/pascal Objet suppose de regarder d'un peu plus près ce qui se passe.
    Tout à fait.
    TStringList n'est qu'un exemple des liste dynamique. J'ai choisit cette classe parce qu'il a utilisé une liste de chaine de caractère dans son exemple.
    Sinon, il existe bien des listes dynamique qui prend des objets générique (ou des pointeurs) comme type de liste : http://www.freepascal.org/docs-html/...ses/tlist.html

  6. #6
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Je suis d'accord avec toi que pour "émuler" les listes Python, le mieux est d'utiliser une classe TList qui manipule des objets polymorphes avec les méthodes de transtypage ad hoc (entre autres) à l'intérieur.
    Enfin c'est comme ça que j'avais fait, il y a déjà longtemps. Maintenant il y a peut-être une autre méthode plus rapide et fiable, je ne sais pas.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  7. #7
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Merci, vous m'avez tous aidé. Comme je ne suis pas un pro des pointers, je vais utiliser TstringList ou TintergerListe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Liste des index similaires de la base
    Par SheikYerbouti dans le forum Contribuez
    Réponses: 0
    Dernier message: 30/12/2011, 15h14
  2. [DOM] lire un fichier XML ou il existe des liste
    Par lakerr dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 08/06/2009, 17h57
  3. [html:text][indexed]Valeurs des liste null...
    Par thibaut dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 08/09/2004, 09h36
  4. [glut] de l'intérêt des listes
    Par khayyam90 dans le forum OpenGL
    Réponses: 3
    Dernier message: 26/07/2004, 10h35
  5. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32

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