Forum du serveur Computercraft FR
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

[API]Fonctions en parallèle

2 participants

Aller en bas

[API]Fonctions en parallèle Empty [API]Fonctions en parallèle

Message par Quae Dim 19 Mar - 17:40

Bonjour,

En codant, il m'est arrivé à plusieurs reprises d'avoir besoin de faire tourner des fonctions en parallèle, ne serait-ce que pour attendre une réponse tout en faisant une action. C'est pourquoi l'API parallel existe sous CC, mais elle a une grosse limitation: l'impossibilité de donner des arguments à nos fonctions. On peut contourner le problème, mais afin d'avoir une solution à peu près élégante, j'ai réalisée cette petite API. Basiquement, à partir de l'API parallel de base, cette API rajoute deux fonctions principales: waitForAny et waitForAll.

synchro.waitForAny:

synchro.waitForAll:

Le fichier:


Dernière édition par Quae le Lun 20 Mar - 22:46, édité 2 fois

Quae

Messages : 4
Date d'inscription : 18/03/2017

Revenir en haut Aller en bas

[API]Fonctions en parallèle Empty Re: [API]Fonctions en parallèle

Message par cedmeu Lun 20 Mar - 22:06

Merci, c'est sympa, et c'est plus propre que d'avoir à jouer avec des variables plus ou moins globales et de s'emmêler les pinceaux Smile

cedmeu
Admin

Messages : 493
Date d'inscription : 28/03/2016

https://computercraftfr.forumgaming.fr

Revenir en haut Aller en bas

[API]Fonctions en parallèle Empty Re: [API]Fonctions en parallèle

Message par Quae Lun 20 Mar - 23:25

Yup, et il y a les retours aussi ce qui permet de faire un waitForAny(os.pullEvent,"mouse_click",os.pullEvent,"modem_message") par exemple en restreignant à plusieurs événements, mais pas forcément tous.

Quae

Messages : 4
Date d'inscription : 18/03/2017

Revenir en haut Aller en bas

[API]Fonctions en parallèle Empty Re: [API]Fonctions en parallèle

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum