+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Membre averti
    Avatar de Claude URBAN
    Homme Profil pro
    Prendre le temps de vivre. . .
    Inscrit en
    mai 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Prendre le temps de vivre. . .

    Informations forums :
    Inscription : mai 2006
    Messages : 255
    Points : 313
    Points
    313

    Par défaut [Tutoriel] Lua : Le Tutoriel

    Bonjour à toutes et à tous,

    Je viens de terminer un tutoriel sur le langage de script Lua que vous trouverez à cette adresse: http://wxlua.developpez.com/tutoriel...cours-complet/. Ce tutoriel est un cours d'initiation complet au langage de script qu'est Lua et vous permettra d'apprendre rapidement les bases.

    Je vous remercie de bien vouloir me faire part de vos remarques, commentaires et critiques.

    Merci de votre attention et bonne lecture.

    Bien à vous.

    Claude

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2008
    Messages : 25
    Points : 50
    Points
    50

    Par défaut Super.boulot

    Bonjour,
    je suis en train de lire votre passionnant tuto, j'ai besoin d'un langage de script et j'ai jeté mon dévolu sur Lua.
    Au chapitre des tables, section 8b, je pense qu'il y a eu un soucis de copier/coller, enfin, le code n'est pas du tout correct.
    je pense que le code est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    maTable = {} --création d'une table
    k = "x" -- affectation de la chaîne "x" à la variable
    maTable[k] = 10 -- nouvelle entrée, avec la clé(k) = "x" de valeur = 10
    maTable[20] = "grand" -- nouvelle entrée, avec la clé(k) = 20 de valeur = "grand"
    print(maTable["x"]) --> 10 (c'est la clé k qui est égal à 20)
    print(maTable[20]) --> "grand"
    Merci en tout cas pour ce travail.

  3. #3
    Membre averti
    Avatar de Claude URBAN
    Homme Profil pro
    Prendre le temps de vivre. . .
    Inscrit en
    mai 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Prendre le temps de vivre. . .

    Informations forums :
    Inscription : mai 2006
    Messages : 255
    Points : 313
    Points
    313

    Par défaut Correction effectuée.

    Bonjour,

    Ça y-est, c'est corrigé.

    Je suis content que mon tutoriel sur lua te soit utile et je te remercie pour ta remarque.

    Effectivement, il manquait la parenthèse fermante aux deux fonctions print(...).

    Comme mentionné ci-dessus, l'erreur est maintenant corrigée.

    N'hésite pas à me recontacter si tu en rencontres d'autres.

    Encore merci à toi.

    Bonne journée et bonne lecture.

    Claude

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Collégien
    Inscrit en
    mai 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 10
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : mai 2016
    Messages : 1
    Points : 1
    Points
    1

    Par défaut merci.beaucoup

    Bonjour un grand merci pour tout,

    Cela me permet de progresser, car il est très difficile de comprendre une fonction si on ne sait pas qu'elle existe

    Je pense qu'il faudrait modifier le code exemple dans la section :

    4.f return et break

    if car ~= 40 and car ~= 44 then
    -- on fait ici ce que l'on a à faire
    return car
    else
    break
    end

    Par :
    if car == 40 or car == 44 then

    pour que l'explication suivante soit en accord.

    Ce qui peut se traduit par :

    si … on a trouvé ce que l'on cherche … alors
    … on fait ce que l'on a à faire et on sort du test en retournant la valeur de car, que l'on a trouvée (40 ou 44).
    sinon … on sort (break) du test conditionnel sans rien faire et le programme continue directement après la fin du test.
    fin
    PS: encore un grand MERCI Claude Urban , message à supprimer après la correction .

  5. #5
    Membre averti
    Avatar de Claude URBAN
    Homme Profil pro
    Prendre le temps de vivre. . .
    Inscrit en
    mai 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Prendre le temps de vivre. . .

    Informations forums :
    Inscription : mai 2006
    Messages : 255
    Points : 313
    Points
    313

    Par défaut Erreur corrigée...

    Bonjour Pix56 et BRAVO ...


    Bravo pour ta sagacité et merci pour m'avoir retourné cette information.

    Bien évidement tu as entièrement raison... "Errare humanum est, perseverare diabolicum* "

    C'est (40 ou 44) qui a mis la pagaille... mais tu as raison.

    Ce qui prouve que tu as parfaitement compris le "pourquoi du comment".

    Il a fallu que je remette les mains dans le cambouis...
    mais j'y suis arrivé et c'est corrigé.

    Sur les deux sites: developpez.com et wxLua.free.fr

    Si tu en trouves d'autres, n'hésite pas à me les signaler.


    Merci à toi et bonne continuation dans ton étude de ce langage.

    Claude


    * Se tromper est humain, persévérer est diabolique ...

  6. #6
    Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    juin 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : juin 2016
    Messages : 1
    Points : 2
    Points
    2

    Par défaut Fonctions Lua

    Bonjour

    je débute dans la programmation Lua et j'ai lu votre tutoriel, très bien fait et complet. merci.
    Par contre je n'ai pas trouvé de réponse à une question : en ce moment je modifié et teste des scripts. Je voudrais savoir à quoi correspond le nom d'une fonction composé du symbole ":"
    Ex : function RentVehicles:loadMap(name) et comment est utilisé ( alimenté ?) l'argument "name"

    D'avance merci beaucoup
    Eric

  7. #7
    Membre averti
    Avatar de Claude URBAN
    Homme Profil pro
    Prendre le temps de vivre. . .
    Inscrit en
    mai 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Prendre le temps de vivre. . .

    Informations forums :
    Inscription : mai 2006
    Messages : 255
    Points : 313
    Points
    313

    Par défaut

    Bonjour rick47,


    Ça va être un peu compliqué pour te répondre, d'autant plus que ta demande dépasse largement le cadre de mon "petit tutoriel"... pour débutant!

    Pourquoi compliqué:

    Parce que Lua n'est pas vraiment un langage orienté objet, et qu'il ne possède pas de concept intégré des classes.

    Que dans ton exemple, on rentre en plein dans la POO.

    Que le système de (fausses) classes "Lua" est différents des systèmes "classiques" C++ et autres.

    Il s'agit plus d'un système de "pseudo classes" qui utilise des tables et des méta-tables...

    Et en plus, tu me donnes simplement qu'une toute petite ligne de code...


    Mais bon, je vais quand même essayer.

    RentVehicles est très certainement une "classe" qui a du être créée précédemment de la façon suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    -- Création d'une classe
    RentVehicules = { ? }    -- ? parce que je ne sais pas s'il y a quelque chose à l'intérieure...
     
     
    -- méthode de classe
    function RentVéhicles:loadMap(name)
     
        --- ...là aussi je ne sais pas ce qu'il y a ???
     
    end
    loadMap est une méthode de classe qui appartient à RentVehicles et qui est censé faire quelque chose...

    Les deux points : indique la liaison entre la classe et la méthode.

    Quant à (name) il s'agit d'un paramètre classique que l'on passe à la fonction lors de son appel.


    Il faudra ensuite créer un objet qui prendra les caractéristiques de ta fonction.

    nom_objet = RentVehicles:loadMap(nom_de_la_map) (nom_de_la_map, par exemple)

    et après, tu fais ce que tu as à faire avec ton nom_objet...


    MAIS, il me faut quand même reconnaître que je m'aîtrise assez mal le sujet de la POO avec Lua... (POO qui, encore une fois, n'en est pas une...)

    Recherche sur le Net pour plus de précision.

    Il y a pléthore d'exemples et d'explications.

    Essaye là, http://www.tutorialspoint.com/lua/lu...t_oriented.htm, ça m'a semblé intéressant.


    Voilà, j'espère que ma réponse te seras de quelque utilité.

    Merci de m'avoir contacté et d'avoir lu mon tutoriel.

    Et si tu as d'autres interrogations, n'hésite pas...


    Bonne journée.


    PS: Il est inutile de faire plusieurs mails... en général un seul suffit!
    Il faut bien comprendre que je ne suis pas au garde à vous devant ma boîte mail à attendre que quelqu'un me pose une question.
    Il faut donc "laisser le temps au temps..."
    Merci.

  8. #8
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    2 990
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 2 990
    Points : 10 751
    Points
    10 751
    Billets dans le blog
    4

    Par défaut

    Bonjour !

    Citation Envoyé par Claude URBAN Voir le message
    Que le système de (fausses) classes "Lua" est différents des systèmes "classiques" C++ et autres.

    Il s'agit plus d'un système de "pseudo classes" qui utilise des tables et des méta-tables...
    Personnellement, je n'y ai jamais trop compris grand chose.

    @rick47

    J'ai supprimé la discussion que vous aviez ouverte dans le forum, puisque la question était la même.

Discussions similaires

  1. [Tutoriels][DirectX] directshow tutoriels et articles
    Par moldavi dans le forum Contribuez
    Réponses: 4
    Dernier message: 16/04/2008, 18h43
  2. Réponses: 9
    Dernier message: 02/12/2007, 02h54
  3. Réponses: 18
    Dernier message: 19/03/2007, 09h56

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