Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?


Réflexions sur la documentation

power_settings_newSe connecter pour répondre
+2
zamirh
pat
6 participants

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
^^
Je suis en train d'écrire un chapitre sur la variable particulière "touche".
Y a-t-il besoin de vider les touches mémorisées dans le tampon ?

[php]
Globale
information est un graffiti, x vaut 211, y vaut 261

Interaction :
début
Projette information
Vide les touches
Va vers Affichage

Affichage :
action est un texte
début
Temporise
action vaut touche
Si action est vide, va vers Affichage
texte de information vaut action
Va vers Affichage
[/php]

Edit :

Mais est-il nécessaire de parler de la variable touche ?

J'ai déjà écrit un chapitre sur le scribe qui permet d'intercepter les touches tapées sur le clavier et de les afficher aussitôt sur la toile.

Et ensuite, il y a le greffon clavier.

Du coup, la variable particulière touche est-elle encore utile ?

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Bonsoir,
Personnellement, je pense que l’acteur « touche » est à conservé, car bien plus simple d’utilisation que le greffon clavier, la possibilité de le vider est tout aussi indispensable.

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Bonjour Pat,

Depuis la version 2.0, l'action de vider les touches est inutile car, quand on ferme le programme, la mémoire est automatiquement vidée.

De plus, même si on utilise la variable touche dans plusieurs fonctions, celle-ci est réinitialisée à chaque fois :

[php]
Globale
information est un graffiti, x vaut 211, y vaut 261

Interaction :
début
Projette information
Vide les touches
Va vers Affichage

Affichage :
action est un texte
début
action vaut touche
Si action est vide, va vers Affichage
texte de information vaut action
Va vers Test

Test :
action2 est un texte
début
action2 vaut touche
Si action2 est vide, "La variable touche à été vidée..." !
Sinon action2 !
Va vers Affichage
[/php]

Du coup il semble que vider les touches ne soit utile qu'en version 1.X ?


En revanche, sous Windows, la variable touche n'affiche pas certaines touches comme :
- la touche Suppr
- la touche espace

Et la touche Windows affiche "Effacer".


J'ai aussi constaté que le verbe Temporiser n'était plus nécessaire avec les variables touche, sourisx et sourisy :

[php]
Globale
infox est un graffiti, x vaut 130, y vaut 260
infoy est un graffiti, x vaut 130, y vaut 290

Affichage :
début
Projette infox
Projette infoy
Va vers Position de la souris

Position de la souris :
début
// Temporise
texte de infox vaut sourisx
texte de infoy vaut sourisy
Va vers Position de la souris
[/php]

Cet exemple fonctionne très bien sans le verbe Temporiser.

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
L'acteur "touche" a l'avantage d'être très simple à utiliser.

Il fonctionne comme une pile Fifo : http://fr.wikipedia.org/wiki/First_in,_first_out
Il accumule dans la pile les touches tapées par l'utilisateur les une après les autres.

Lorsque l'on utilise l'acteur touche, on extrait la première touche enfoncée et ainsi de suite.

Le greffon Clavier fonctionne différemment, il scrute en temps réél les touches enfoncées.
Il est plus compliqué à mettre en place mais plus puissant.

Ce soir, je vais vérifier s'il n'y a pas un problème avec le verbe temporiser... j'ai l'impression qu'il ne fonctionne plus.

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Le verbe Temporiser fonctionne avec le scribe en tous cas ^^

Effectivement, le verbe Temporiser ne fonctionne pas dans cet exemple :

[php]
Interaction avec le clavier :
information est un graffiti, x vaut 211, y vaut 261
action est un texte
début
Projette information
Tant que vrai, lis
"test" !
Temporise
action vaut touche
texte de information vaut action
ferme
[/php]

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
J'ai modifié mon chapitre sur les méthodes fonctionnelles en ajoutant cet exemple :

[php]
Espèces
nom est un texte
numéro est un texte
adresse est un texte valant "adresse inconnue"
espèce contact contient nom, numéro, adresse

Mes contacts :
Robert est un contact, nom vaut "Bidoche", numéro vaut "06 00 00 00"
Germaine est un contact, nom vaut "Dupont", numéro vaut "06 00 00 01"
début
Attache Création mail à Robert
Evoque Robert.Création mail()
Affiche Robert
Attache Création mail à Germaine
Evoque Germaine.Création mail()
Affiche Germaine

Création mail :
*moi est un contact
mail est un texte
début
Concatène [moi] + "." + nom de moi + "@orange.fr" dans mail
Attache mail à moi
Retourne mail
[/php]

Mais on pourrais très bien écrire ce programme comme ceci :

[php]
Espèces
nom est un texte
numéro est un texte
adresse est un texte valant "adresse inconnue"
espèce contact contient nom, numéro, adresse

Mes contacts :
Robert est un contact, nom vaut "Bidoche", numéro vaut "06 00 00 00"
Germaine est un contact, nom vaut "Dupont", numéro vaut "06 00 00 01"
début
Attache Création mail à Robert
Evoque Robert.Création mail()
Affiche Robert

Evoque Création mail (Germaine)
Affiche Germaine

Création mail :
*moi est un contact
mail est un texte
début
Concatène [moi] + "." + nom de moi + "@orange.fr" dans mail
Attache mail à moi
Retourne mail
[/php]

Du coup quel est l'intérêt des méthodes fonctionnelles par rapports aux fonctions retournant un résultat ?

Les méthodes fonctionnelles ne devraient-elles pas être accessibles seulement aux variables qui lui sont attachées ?

Et l'écriture d'une méthode fonctionnelle ne devrait-elle pas être différente d'une fonction retournant un résultat ?
Ainsi, en regardant la fonction Création mail, on pourrait voir d'un simple coup d’œil que l'on a affaire à une méthode fonctionnelle...

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Linotte est tellement riche qu'il existe mille et une façon de faire les choses !

Sinon, pour un guide destiné au débutant, ne vaut-il pas mieux faire les choses en utilisant les verbes parcourir ?

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
C'est justement pour ça que je demande ^^

A quoi servent les méthodes fonctionnelles ?
Apportent-elles un réel intérêt vis-à-vis du verbe Parcourir ?

Si c'est le cas, alors oui, il faut le leur expliquer.

Si le choix des méthodes fonctionnelles vis à vis du verbe parcourir est purement esthétique alors effectivement ce n'est peut-être pas nécessaire de leur en parler...

Mais dans ce cas, on peut alors se demander pourquoi cette notion existe... (Elle concerne peut-être d'autres langages de programmation...)

A moins que sa ne cache une notion plus technique... Que je n'ai pas encore comprise...

Dans tous les cas, un éclaircissement s'impose... ^^

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Bonjour Wam,

Je reviendrai expliquer l'intérêt des méthodes fonctionnelles.

Mon souhait est d'associer un traitement particulier à une espèce particulière. ainsi, d'être plus proche de la programmation objet. (cf l'exemple starwar.liv)

Il vaut mieux en parler dans un tuto pour expert <img src=" title="Smile" />

Je reviendrai sur ce sujet...

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Bonjour,

Essayant de comprendre, j'ai remplacé toutes les méthodes fonctionnelles de l'exemple starwar, comme ceci :

[php]
espèces
énergie :: nombre <
- 1000
nom :: texte
espèce stormtrooper contient énergie
espèce jedi contient énergie, nom

principale :
prototype :: stormtrooper, énergie vaut 1000
yoda :: jedi, nom vaut "Yoda", énergie vaut 9000
armée :: casier de stormtrooper
taille armée :: nombre <
- 100
vivants :: nombre <
- taille armée
début
// On ajoute les clones du prototype dans l'armée :
pour chaque taille armée, ajoute #prototype dans armée
// ààà l'attaaaqueeee !
tant que vivants >
0, lis
i :: nombre
pour i de 0 à taille armée - 1, lis
si vivant(armée{i}), lis
dégât :: nombre
affiche ">
>
Attaque du stormtrooper n° " + i + " :"
dégât vaut attaquer(armée{i})
affiche " Il vient de faire une attaque de " + dégât + " points."
affiche " Il reste " + prendre coup(yoda, dégât) + " énergie à " + nom@yoda
si non(respire encore(yoda)), lis
affiche " " + nom@yoda + " est mort. "
affiche "****L'alliance a perdu !"
termine
ferme
affiche "<
<
" + nom@yoda + " répond en attaquant... "
dégât vaut frapper(yoda, armée{i})
affiche " ...il vient de faire un attaque de " + dégât + " points."
affiche " Le stormtrooper a maintenant " + énergie@(armée{i}) + " points d'énergie."
si non(vivant(armée{i})), lis
affiche " Le stormtrooper n° + " + i + " est mort !"
décrémente vivants
ferme
attends 500 milliseconde
ferme
ferme
ferme
affiche " L'armée des clones est décimée !"
affiche "****L'alliance a gagné !"

// Fonctions d'un stormtrooper :

attaquer :
// Le stormtrooper perd de l'energie quand il attaque
*moi :: stormtrooper
force :: nombre <
- 100
début
mélange force
énergie@moi vaut énergie@moi - force * 10
retourne force

perdre énergie :
*moi :: stormtrooper
*point :: nombre
début
énergie@moi vaut énergie@moi - point
retourne énergie@moi

vivant :
*moi :: stormtrooper
début
si (énergie@moi) >
0, retourne vrai
sinon retourne faux

// Fonctions d'un jedi :

frapper :
*moi :: jedi
*ennemi :: stormtrooper
force :: nombre <
- 500
début
mélange force
évoque perdre énergie(ennemi, force)
retourne force

prendre coup :
*moi :: jedi
*point :: nombre
début
énergie@moi vaut énergie@moi - point
retourne énergie@moi

respire encore :
*moi :: jedi
début
si (énergie@moi) >
0, retourne vrai
sinon retourne faux
[/php]

Ce programme semble faire exactement la même chose...

Alors qu'elle est la différence en utilisant des méthodes fonctionnelles ?

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Oui, ils font exactement la même chose mais c'est la façon de faire les choses qui est différente.

Je me rends comptes que c'est n'est pas simple à appréhender et à expliquer !

Il faut que je trouve un exemple plus simple et plus parlant.

Dans un cas, mes acteurs savent ce qu'ils peuvent faire.
Dans l'autre cas, les acteurs ne le savent pas !

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
De ce que j'ai compris, la POO permet de dissimuler des mécanismes qu'il n'est pas nécessaire de comprendre.

J'ai trouvé un article sur la loi de Déméter :

http://fr.wikipedia.org/wiki/Loi_de_D%C3%A9m%C3%A9ter

Est-ce que cela correspond à l'utilisation des méthodes fonctionnelles ?

Je n'arrive pas à reproduire un exemple utilisant cette loi...

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Je ne connaissais pas cette loi !

Mais ça y ressemble sans être si strict !

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Du coup, j'espère toujours une explication sur les méthodes fonctionnelles ^^

De ce que j'ai crû comprendre, les méthodes fonctionnelles se révèlent utiles surtout dans la conception de très grands programmes.
En effet, l'utilisation des méthodes fonctionnelles permettrait alors de modifier ou d'ajouter des éléments dans un programme beaucoup plus facilement.

Peut-être qu'un exemple justifiant l'emploi des méthodes fonctionnelles lors d'une modification ou d'une recherche d'erreur, serait plus explicite que l'exemple Starwar ?

(Si c'est bien à cela que servent les méthodes fonctionnelles bien sûr ^^)

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
En tout cas, Wam, tu es bien motivé ! c'est bien !

En fait, il faudrait faire un tuto pour découvrir les bases et un guide plus avancé pour expliquer tout ça.

ça sera ma résolution pour 2015 !Very Happy

A l'année prochaine !

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Une première version de la documentation rédigée par Wam est disponible depuis le site Internet :
http://langagelinotte.free.fr/wordpress/?page_id=120

Bravo pour ce travail immense !

En passant, j'en profite pour annoncer que la version 2.0.3 est sortie et une nouvelle version du greffon Pipette. Ce nouveau greffon ne fonctionne qu'avec une version récente de Linotte.

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Et hop, diffusion sur le planet-libre d'ici quelques minutes !

http://langagelinotte.free.fr/wordpress/?p=279

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Bonjour,

afin d'achever le tuto, il faudrait compléter l'installation de l'atelier sous Linux et MacOSX.
Car, dans le tuto 2010, il n'ai expliqué que la décompression de l'exécutable...
Ayant ni Linux, ni MacOSX, je ne connais pas la marche à suivre et je ne peux pas faire de screens...

Donc si quelqu'un pouvait me donner un coup de main ^^

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
si j'ai le temps ce we, je le fais sous Fedora !

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
A quoi sert le bouton "Activer le fichier de trace" dans l'atelier Linotte ?

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Quand tu actives ce bouton, le moteur d'exécution va écrire dans un fichier de traces (répertoire_personnel/.linotte/trace.log)

Par exemple, l'exemple bienvenue.liv va produire le fichier suivante :

Code:


17:
13:
19:
446:
alize.
kernel:
pos=0:
bienvenue.
liv:
action=creation livre-->
PAS_DE_CHANGEMENT
17:
13:
19:
446:
alize.
kernel:
pos=0:
bienvenue.
liv:
action=test unitaire-->
PAS_DE_CHANGEMENT
17:
13:
19:
446:
alize.
kernel:
pos=0:
bienvenue.
liv:
action=creation espèce-->
PAS_DE_CHANGEMENT
17:
13:
19:
446:
alize.
kernel:
pos=0:
bienvenue.
liv:
action=creation espèce-->
PAS_DE_CHANGEMENT
17:
13:
19:
446:
alize.
kernel:
pos=0:
bienvenue.
liv:
action=fin importation-->
PAS_DE_CHANGEMENT
17:
13:
19:
446:
alize.
kernel:
pos=0:
bienvenue.
liv § principale:
action=creation paragraphe:
principale-->
PAS_DE_CHANGEMENT
17:
13:
19:
446:
alize.
kernel:
pos=154:
bienvenue.
liv § principale:
action=creation acteur:
prénom=prénom-->
PAS_DE_CHANGEMENT
17:
13:
19:
446:
alize.
kernel:
pos=171:
bienvenue.
liv § principale:
action=creation acteur:
âge=âge
17:
13:
19:
446:
alize.
kernel:
pos=171:
bienvenue.
liv § principale:
action=creation acteur:
boucle=boucle
17:
13:
19:
446:
alize.
kernel:
pos=203:
bienvenue.
liv § principale:
action=verbe afficher:
"Bonjour ! Quel est ton prénom ?"-->
PAS_DE_CHANGEMENT
17:
13:
21:
993:
alize.
kernel:
pos=247:
bienvenue.
liv § principale:
action=verbe demander:
prénom-->
PAS_DE_CHANGEMENT
17:
13:
21:
993:
alize.
kernel:
pos=264:
bienvenue.
liv § principale:
action=verbe afficher:
"Bravo " + prénom + ", tu viens de lire ton premier livre Linotte !"-->
PAS_DE_CHANGEMENT
17:
13:
21:
993:
alize.
kernel:
pos=390:
bienvenue.
liv § principale:
action=verbe afficher:
"Quel âge as-tu ?"-->
PAS_DE_CHANGEMENT
17:
13:
23:
711:
alize.
kernel:
pos=419:
bienvenue.
liv § principale:
action=verbe demander:
âge-->
PAS_DE_CHANGEMENT
17:
13:
23:
742:
alize.
kernel:
pos=433:
bienvenue.
liv § principale:
action=condition:
âge <
= 18-->
SAUTER_PARAGRAPHE
17:
13:
23:
758:
alize.
kernel:
pos=577:
bienvenue.
liv § principale:
action=sinon-->
ETAT_SECONDAIRE
17:
13:
23:
758:
alize.
kernel:
pos=577:
bienvenue.
liv § principale:
action=§ début-->
PAS_DE_CHANGEMENT
17:
13:
23:
758:
alize.
kernel:
pos=590:
bienvenue.
liv § principale:
action=verbe afficher:
"Tu fais bien plus jeune que tes " + âge + " années !"-->
PAS_DE_CHANGEMENT
17:
13:
23:
758:
alize.
kernel:
pos=656:
bienvenue.
liv § principale:
action=verbe afficher:
"Avec Linotte, la programmation ne sera plus un secret pour toi !"-->
PAS_DE_CHANGEMENT
17:
13:
23:
758:
alize.
kernel:
pos=733:
bienvenue.
liv § principale:
action=§ fin-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=741:
bienvenue.
liv § principale:
action=verbe attendre seconde:
2-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=790:
bienvenue.
liv § principale:
action=verbe afficher:
"En tout cas, moi, je sais compter jusqu'à dix !"-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=verbe afficher:
boucle-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=850:
bienvenue.
liv § principale:
action=boucle:
boucle:
1:
10-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=931:
bienvenue.
liv § principale:
action=verbe afficher:
"Et je connais tous les mois de l'année :
"-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=verbe afficher:
joker-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=984:
bienvenue.
liv § principale:
action=boucle:
{"janvier", "février" , "mars", "avril", "mai", "juin", "juillet" ,"août", "septembre", "octobre", "novembre", "décembre"}-->
PAS_DE_CHANGEMENT
17:
13:
25:
758:
alize.
kernel:
pos=1136:
bienvenue.
liv § principale:
action=verbe afficher:
"à bientôt !"-->
PAS_DE_CHANGEMENT


Il utilise ce mécanisme que si on maitrise bien le langage et si on connait bien son programme ...

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Ok, c'est juste que je n'arrivais pas à trouver le fichier de trace dans mon répertoire ^^
Merci

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
J'ai remarqué que le verbe Annihiler était absent du verbier.

Bien que ce soit un verbe à utiliser avec la plus grande précaution, ne devrait-il pas avoir sa place dans le verbier ?

Sinon, comment les Linottiens pourrait avoir connaissance de ce verbe ?

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
Bonjour Wam,
En effet, je ne veux pas trop faire de publicité autour de ce verbe.
Dès le début, je ne voulais pas que les utilisateurs de Linotte aient à gérer la mémoire. Ainsi, toute l'architecture du langage est basée sur ce principe.

Aujourd'hui, les quelques tests que j'ai effectué montrent que ce verbe fonctionne correctement mais je ne peux pas garantir à 100% qu'il n'apporte pas une certain instabilité au moteur du langage.

Donc, j'en parle sur le forum quand je pense que la personne connait bien son programme et que l'utilisation du verbe est nécessaire !

Mais je te rassure, un jour, il sera présent dans la mise à jour de ma doc !

descriptionRéflexions sur la documentation - Page 4 EmptyRE: Réflexions sur la documentation

more_horiz
ok.
Sinon, j'ai une question toute bête :

Pourquoi dans une condition le signe égal s'écrit == ?

[php]
Si (2 * 2) == (2 + 2), affiche "J'ai raison"
[/php]

descriptionRéflexions sur la documentation - Page 4 EmptyRe: Réflexions sur la documentation

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre