Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=3b9c0d4877768618fa893f344cc8a87bMédailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

surcharge opérateur

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 16/08/14 15:58    Sujet du message: surcharge opérateur Citer

est-il possible en jass ou toute autre version du jass de faire de la surcharge d'opérateur ? ou simplement faire ça :

Jass:
function machin takes integer i = 0 returns nothing
blablabla
endfunction



j'ambitionne surement trop :p d'autant plus que ça serait juste pour "la forme", trop de paramètre sur une fonction qui des fois sont pas indispensable mais intéressant.
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Sapeur-Goblin
Floodeur prématuré


Inscrit le: 14 Oct 2009
Messages: 719
Sujets: 40
Spécialité en worldedit: Les bugs
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 16/08/14 16:46    Sujet du message: Citer

Tu ne peux pas mettre de paramètres par défauts dans les fonctions.
Par contre en vJass, dans les struct, il y a une pseudo surcharge d'opérateurs possible.

Exemples :
Jass:
method operator jesaispasquoi takes nothing returns integer
    return jesaispasquoiValue
endmethod


Utilisation : instance.jesaispasquoi

Jass:
method operator jesaispasquoi= takes integer newValue returns nothing
    set jesaispasquoiValue = newValue
endmethod


Utilisation : set instance.jesaispasquoi = newValue

Jass:
method operator [] takes type t returns untruc
    return unevaleurdetableau_ouautre
endmethod


Utilisation : instance[t]

Jass:
method operator []= takes type t, autretype newValue returns nothing
    //Stuff
endmethod


Utilisation : set instance[t] = newValue

Ce dernier opérateur marche aussi en static, ce qui permet de faire quelques trucs sympas en les couplant (comme ça par exemple).
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 16/08/14 17:20    Sujet du message: Citer

mouais, ça me sera pas utile :p tampis ^^
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2012
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 16/08/14 21:02    Sujet du message: Citer

La surcharge d'opérateur c'est lorsqu'on définis d'autres actions pour un opérateur.
La surcharge de fonction c'est lorsqu'on définis plusieurs fonctions avec le même nom et le même type de retour (dans des cas particuliers elles peuvent également avoir les mêmes types de paramètres).
Ici c'est ce que l'on appel un paramètre par défaut, chose qui si un langage ne le supporte pas peut être effectué avec de la surcharge de fonction.

La surcharge de fonction a été rendue possible en C++ en ajoutant au symbole le type des paramètres, par exemple pour une fonction:
void foo(int a);
En C on aura le symbole foo.
En C++ on aura le symbole foo_int_.
D'où la nécessité à partir d'un compilateur C++ qui appel des fonctions C de spécifier les déclarations pour une librairie statique C avec extern(C).

Jass est un langage inspiré du BASIC qui se veut très simple, mis à part un pseudo garbage-collector, il n'intègre pas de fonctionnalités que l'on peut trouver dans des langages haut-niveau.
Après il est possible de le faire avec un préprocesseur.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 17/08/14 00:19    Sujet du message: Citer

oui je sais que j'ai montré l'exemple de paramètre par défaut, mais la surcharge d'opérateur m'intéressait encore plus. (j'ai dit "au moins ça")

par contre j'ai pas compris ton exemple de foo :p
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com