Jump to content

martial69320

Members
  • Posts

    7
  • Joined

  • Last visited

About martial69320

  • Birthday 04/10/1994

Details

  • Location
    France

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

martial69320's Achievements

Newbie

Newbie (4/54)

0

Reputation

  1. Quelques Conventions Lexicales Les identificateurs dans le Lua peuvent être de n'importe quelle série de lettres, de chiffres et soulignement, ne commençant pas par un chiffre; par exemple i j i10 _ij aSomewhatLongName _INPUT Vous devriez éviter des identificateurs commençant avec un souligné suivi par une ou plusieurs lettres majuscules (par exemple, _VERSION); ils sont réservés pour des utilisations spéciales en Lua. D'habitude, je réserve l'identificateur _ (un seul soulignement) pour une variable factice. En Lua, le concept de ce qu'est une lettre est la personne à charge de lieu. Donc, avec un lieu approprié, vous pouvez utiliser des noms variables comme índice ou ação. Cependant, de tels noms feront de votre programme peu convenable afin de fonctionner dans les systèmes qui ne supportent pas ce lieu Les mots suivants sont réservés; nous ne pouvons pas les utiliser comme des identificateurs : and break do else elseif end false for function if in local nil not or repeat return then true until while Lua est sensible à la casse : and est un mot réservé, mais And et AND sont deux autres identificateurs différents. Un commentaire commence n'importe où par un trait d'union double (-) jusqu'à la fin de la ligne. Lua offre aussi des commentaires de bloc, qui commencent par -- [[et fonctionnent jusqu'à la correspondance]]. Un tour commun, quand nous voulons faire les commentaires d'un morceau de code, on doit écrire la chose suivante : --[[ print(10) -- no action (comment) --]] Maintenant, si nous ajoutons un trait d'union seul à la première ligne, le code est dans ce nouveau format : ---[[ print(10) --> 10 --]] Dans le premier exemple, le -- à la dernière ligne est toujours à l'intérieur du commentaire de bloc. Dans le deuxième exemple, l'ordre---[[ne commence pas de commentaire de bloc; ainsi, le print est à l'extérieur des commentaires. Dans ce cas, la dernière ligne devient un commentaire indépendant, comme il commence par--. Traduction du Book officiel en ligne sur le lua.
  2. Je suis désolé de te l'apprendre, mais je ne connais pas un seul truc en LUA, je fais, ici, que la traduction du ebook officiel sur le lua, qui est ici. Merci de ne pas me dire, de faire des codes MTA, car je n'y connais absolument rien. En espérant vous avoir aider lorsque j'aurais fini de le traduire. Si il y as des fautes dites le moi, j’essayai de me corriger du mieux possible.
  3. je suis désolé si j'ai mis du temps a faire la suite, mais je m'occupais de mon forum de ma team et je m'occupais un peut a creer mon serveur match sur COD4. Merci pour vos commentaires précédents.
  4. Variables Globales Des variables globales n'ont pas besoin de déclarations. Vous assignez simplement une valeur à une variable globalepour le créer. Ce n'est pas une erreur d'avoir accès à une variable non-initialisée; vous obtenez juste le zéro de valeur spécial comme le résultat : print (b) - > zéro(néant) b = 10 print (b) - > 10 D'habitude vous ne devez pas supprimer des variables globales; si votre variable va avoir une vie courte, vous devriez utiliser une variable locale. Mais, si vous deviez supprimer une variable globale, y assignez juste nil: b = nil print(b) --> nil Après cela, il est comme si la variable n'avait jamais été utilisée. Autrement dit, une variable globale est existante si (et seulement si) il a une valeur non-nulle. Traduction du Book officiel en ligne sur le lua.
  5. Morceaux de codes Chaque morceau(pièce) de code que Lua exécute, comme un fichier ou une ligne seule(simple) dans le mode interactif, est un morceau. Plus spécifiquement, un morceau est simplement un ordre de déclarations. Un point-virgule peut facultativement suivre n'importe quelle déclaration. D'habitude, j'utilise des points-virgules seulement pour séparer deux ou plus déclarations écrites à la même ligne, mais ceci est juste une convention. Les sauts de ligne ne jouent aucun rôle dans la syntaxe de Lua; par exemple, les quatre morceaux suivants sont tout valables et équivalents : a = 1 b = a*2 a = 1; b = a*2; a = 1 ; b = a*2 a = 1 b = a*2 -- Laid, mais valable Un morceau peut être aussi simple qu'une déclaration seule, comme dans l'exemple "Hello world", ou il peut être composé d'un mélange de déclarations et des définitions de fonction (qui est des attributions en réalité, comme nous verrons plus tard), comme l'exemple de factorielle. Un morceau peut être aussi grand que vous souhaitez. Parce que Lua est utilisé aussi comme une langue de description de données, les morceaux avec plusieurs méga-octets ne sont pas rares. L'interprète Lua n'a aucun problème du tout avec de grandes tailles. Au lieu d'écrire votre programme dans un fichier, vous pouvez exécuter l'interprète autonome dans le mode interactif. Si vous appelez Lua sans un argument, vous deviendrez son prompts : Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio > Ensuite, chaque commande que vous tapez (comme l'exemple "Hello world") exécute immédiatement après que vous appuyez . Pour quitter le mode interactif et l'interprète, tape juste la fin-de-fichier (ctrl-D à UNIX, ctrl-Z dans le DOS/FENÊTRES), ou appelle la fonction de sortie, de la bibliothèque de Système D'exploitation (vous devez taper os.exit () < enter >). Dans le mode interactif, Lua interprète d'habitude chaque ligne que vous tapez comme un morceau complet. Cependant, s'il détecte que la ligne ne peut pas former un morceau complet, il attend plus de saisie, jusqu'à ce qu'il ait un morceau complet. Quand Lua attend une suite de ligne, il montre un différent prompt (typiquement > >). Donc, vous pouvez entrer dans une définition de multi-ligne, comme la fonction de factorielle, directement dans le mode interactif. Parfois, cependant, il est plus commode de mettre de telles définitions dans un fichier et appeler ensuite le Lua pour exécuter le fichier. Vous pouvez exécuter un ordre de morceaux en les donnant tous comme des arguments à l'interprète autonome, avec l'option-l. Par exemple, si vous avez un fichier un avec une déclaration seule x=1 et un autre fichier b avec la déclaration print (x), la ligne de commande prompt> lua -la -lb Exécutera le morceau dans a, alors celui dans b, qui imprimera 1 attendu. (L'option-l appelle en réalité exigent, qui cherche les fichiers dans un chemin spécifique. Ainsi, l'exemple précédent ne marchera pas si ce chemin n'inclut pas le répertoire actuel. Nous parlerons de la fonction s'exigeant plus en détail dans la Section La Fonction s'exigeant) Vous pouvez utiliser l'option-i pour charger Lua de commencer une session interactive après la direction des morceaux donnés. Une ligne de commande comme prompt> lua -i -la -lb Exécutera le morceau dans a, alors celui dans b et vous incitera ensuite pour l'interaction. Ceci est particulièrement utile pour le débogage et le test manuel. À la fin de ce chapitre nous verrons d'autres options pour l'interprète autonome. Une autre façon de lier des morceaux est avec la fonction de dofile, qui exécute immédiatement un fichier. Par exemple, vous pouvez avoir un fichier lib1.lua : -- file 'lib1.lua' function norm (x, y) local n2 = x^2 + y^2 return math.sqrt(n2) end function twice (x) return 2*x end Alors, dans le mode interactif, vous pouvez taper > dofile("lib1.lua") -- load your library > n = norm(3.4, 1.0) > print(twice(n)) --> 7.0880180586677 La fonction de dofile est utile aussi quand vous évaluez un morceau de code. Vous pouvez travailler avec deux fenêtres : Un d'entre eux est un éditeur de texte avec votre programme (dans un fichier prog.lua) et l'autre est une console exécutant Lua dans le mode interactif. Après l'économie d'une modification que vous faites à votre programme, vous exécutez dofile ("prog.lua") dans la console de Lua pour charger le nouveau code; alors vous pouvez exercer le nouveau code, appelant ses fonctions et imprimant les résultats. Traduction du Book officiel en ligne sur le lua.
  6. Préface Actuellement, beaucoup de langues de programmation sont concernées par la façon de vous aider à écrire des programmes avec des centaines de milliers de lignes. Pour cela, ils vous offrent des paquets, namespaces, des systèmes de type complexes, une myriade de constructions et des milliers de pages de documentation à être étudié. Lua n'essaye pas de vous aider à écrire des programmes avec des centaines de milliers de lignes. Au lieu de cela, Lua essaye de vous aider à résoudre votre problème avec seulement des centaines de lignes, ou même moins. Pour réaliser ce but, Lua compte sur l'extensibilité, comme beaucoup d'autres langues. À la différence de la plupart des autres langues, cependant, Lua est facilement étendu non seulement avec le logiciel écrit dans Lua lui-même, mais aussi avec le logiciel écrit dans d'autres langues, comme C et C ++. Lua a été conçu, depuis le début, être intégré avec le logiciel écrit dans C et d'autres langues conventionnelles. Cette dualité de langues apporte beaucoup d'avantages. Lua est une langue minuscule et simple, en partie parce qu'il n'essaye pas de faire ce que C est déjà bon puisque comme l'exécution pure, des opérations à bas niveau, ou l'interface avec le logiciel tiers. Lua compte sur C pour ces tâches. Ce que Lua offre est pour quoi C n'est pas bon : une bonne distance du matériel, structures dynamiques, aucun licenciement économiques, facilité de test et débogage. Pour cela, Lua a un environnement sûr, la gestion de mémoire automatique et la grande facilité pour manipuler des séries et d'autres sortes de données avec la taille dynamique. Plus qu'être une langue extensible, Lua est aussi une langue de colle. Lua supporte(soutient) une approche à base de composant au développement logiciel, où nous créons une demande(application) en collant ensemble l'existant des composants de haut niveau. D'habitude, ces composants sont écrits dans un compilé, la langue statiquement tapée, comme C ou C ++; Lua est la colle que nous utilisons pour composer et connecter ces composants. D'habitude, les composants (ou des objets) représentent des concepts plus concrets, à bas niveau (comme des gadgets et des structures de données) qui n'est pas soumis à beaucoup de changements pendant le développement de programme et cela prend la plus grande partie du temps d'UC du programme final. Lua donne la forme finale de l'application, qui changera probablement beaucoup pendant le cycle de vie du produit. Cependant, à la différence d'autres technologies de colle, Lua est une langue véritable aussi. Donc, nous pouvons utiliser Lua non seulement pour coller des composants, mais aussi adapter et les réorganiser, ou même créer des nouveaux composants entiers. Bien sûr, Lua n'est pas la seule langue scripting autour. Il y a d'autres langues que vous pouvez utiliser pour plus ou moins les mêmes buts, comme Perl, Tcl, le Rubis, En avant et le Python. Les caractéristiques suivantes mettent Lua sauf ces langues; bien que d'autres langues partagent certaines de ces caractéristiques avec Lua, aucune autre langue n'offre un profil semblable : Extensibilité: l'extensibilité de Lua est si remarquable que beaucoup de personnes considèrent Lua pas comme une langue, mais comme un kit pour construire des langues spécifiques de domaine. Lua a été conçu à partir de zéro pour être étendu, tant par le code de Lua que par le code de C externe. Comme une preuve de concept, il met en oeuvre la plupart de sa propre fonctionnalité de base par des bibliothèques externes. C'est vraiment facile à l'interface Lua avec C/C ++ et d'autres langues, comme le Fortran, le Java, Smalltalk, Ada et même avec d'autres langues scripting. Simplicité: Lua est une langue simple et petite. Il a peu (mais puissant) de concepts. Cette simplicité fait de Lua facile à apprendre et contribue pour une petite mise en oeuvre. Sa distribution complète (le code source, le manuel, plus des fichiers binaires pour quelques plates-formes) va confortablement dans une disquette. Efficacité: Lua a une mise en oeuvre tout à fait efficace. Des points de référence indépendants montrent Lua comme une des langues les plus rapides dans le royaume de scripting des langues interprétées. Portabilité: Quand nous parlons de la portabilité, nous ne parlons pas de la direction Lua tant sur des Fenêtres que sur des plates-formes Unix. Nous parlons de la direction Lua sur toutes les plates-formes dont nous avons jamais entendu parler : NextStep, OS/2, Playstation II (Sony), Mac OS-9 et OS X, BeOS, MS-DOS, unités centrales IBM, EPOC, PalmOS, MCF5206eLITE Conseil d'Évaluation, RISC OS, plus bien sûr toutes les saveurs d'UNIX et Fenêtres. Le code source pour chacune de ces plates-formes est pratiquement le même. Lua n'utilise pas la compilation conditionnelle pour adapter son code aux machines différentes; au lieu de cela, il persévère dans l'ANSI(l'INSTITUT AMÉRICAIN DE NORMALISATION) standard (l'ISO)((l'organisme international de normalisation)) C. Cette voie, d'habitude vous ne doit pas l'adapter à un nouvel environnement : si vous avez un ANSI(un INSTITUT AMÉRICAIN DE NORMALISATION) C le compilateur, vous devez juste compiler Lua, de la boîte. Une grande partie de la puissance de Lua vient de ses bibliothèques. Ceci n'est pas par hasard. Une des forces principales de Lua est son extensibilité par de nouveaux types et des fonctions. Beaucoup de fonctions contribuent à cette force. La dactylo dynamique permet un grand degré de polymorphisme. La gestion de mémoire automatique simplifie des interfaces, parce qu'il n'y a aucun besoin de se décider qui est responsable d'alloueret désaffecter la mémoire, ou comment manipuler déborde. Les fonctions de commande plus haute et des fonctions anonymes permettent un haut degré de paramétrage, faisant des fonctions plus polyvalent. Lua vas avec un petit jeu de bibliothèques standard. En installant Lua dans un environnement fortement limité, comme des processeurs incorporés, il peut être sage de choisir soigneusement les bibliothèques dont vous avez besoin. De plus, si les limitations sont dures, il est facile d'aller à l'intérieur du code source des bibliothèques et choisir un à un que les fonctions devraient être gardées. Souvenez-vous, cependant, que Lua est plutôt petit (même avec toutes les bibliothèques standard) et dans la plupart des systèmes vous pouvez utiliser le paquet entier sans aucune préoccupation. Traduction du Book officiel en ligne sur le lua.
  7. Demarrage Pour garder avec la tradition, notre premier programme dans Lua affiche juste "Hello World" : print("Hello World") Si vous utilisez l'interprète Lua autonome, tout ce que vous devez faire pour fonctionner votre premier programme doit appeler l'interprète (d'habitude nommé lua) avec le nom du fichier texte qui contient votre programme. Par exemple, si vous écrivez le programme dans un fichier hello.lua, la commande suivante devrait l'exécuter : prompt> lua hello.lua Comme un exemple légèrement plus complexe, le programme suivant définit une fonction pour calculer la factorielle d'un numéro donné, demande à l'utilisateur un numéro et affiche sa factorielle : -- defines a factorial function function fact (n) if n == 0 then return 1 else return n * fact(n-1) end end print("enter a number:") a = io.read("*number") -- Lire le nombre print(fact(a)) Si vous utilisez Lua incorporé dans une demande(application), comme CGILUA ou IUPLUA, vous pouvez devoir vous référer au manuel d'application pour apprendre à exécuter vos programmes. Néanmoins, Lua est toujours la même langue; la plupart des choses que nous verrons sont ici valables suivant comment vous utilisez Lua. Pour un début, nous recommandons que vous utilisiez l'interprète autonome (c'est-à-dire le lua exécutable) pour exécuter vos premiers exemples et expériences. Traduction du Book officiel en ligne sur le lua.
×
×
  • Create New...