AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Accéder à une constante via un string.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

MessageSujet: Accéder à une constante via un string.   Mar 3 Avr 2012 - 9:49

Bonjour, j'ai était bloqué sur un truc tout bête: récupérer la valeur d'une constante via une chaîne de caractères.

Pour des ressources et des variables globales on fait comme ça :
Code:
variable_global_get('nom_de_la_ressource');
Pour des variables locales:
Code:
variable_local_get('nom_de_la_variable');

Mais pour des constantes on ne peut pas.
Voici donc le script à appeler une seule fois pour initialiser vos constantes.

Spoiler:
 

Et voici le script pour récupérer la constante.
constant_get(str):
Code:
return ds_map_find_value(MAP_CONSTANT,argument0);


Spoiler:
 
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 10:36

Ou sinon, plus simple :

constant_get(str)
Code:
__ret = 0
execute_string("__ret = " + argument0)
return __ret

_________________
                 
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 10:59

'execute_string' est plus gourmand, pas de beaucoup mais on grappille là ou on peut.
Revenir en haut Aller en bas
M@d_Doc
Modérateur
avatar

Messages : 6599
Localisation : 47°44'8.04
Projet Actuel : aucun

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 11:16

Euh.... je suis pas sûr de comprendre... tu veux accéder à quoi?

bm_add par ex. vaut 2
string(bm_add) retourne "2"

donc bm_add+1 =3
et string(bm_add)+"#" + "2#"

_________________
Tous les icones de gm utilisables sur le cbna ICI
Revenir en haut Aller en bas
http://www.lecbna.org
D-z
Utilisateur confirmé: Rang *****
avatar

Messages : 1608
Localisation : Montpellier

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 11:42

En fait faire ça revient à émuler un pointeur sur variable, mais dans le cas d'une constante, autant directement assigner la valeur puisqu'elle ne peut pas changer ?

Je comprends ton script mais je ne vois pas dans quelles circonstances il peut avoir une utilité.

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 11:42

Effectivement tu n'as pas compris (quant on a pas était confronté au problème ce n'est pas évident de voir à quoi ça peut servir).

Essai de faire:
Code:
draw_set_color(string(c_red));
draw_text(16,16,'Hello world');

Et tu comprendras.

Edit pour D-z:
Bha c'est dans le cas ou tu parse un string et que tu veux récupérer une valeur.
Tu ne fait pas ça tout les jours mais ça peut arriver (comme ça viens de m'arriver).
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 16:44

Caly a écrit:
'execute_string' est plus gourmand, pas de beaucoup mais on grappille là ou on peut.
Boh, ton truc aussi est lourd, surtout en mémoire :b

_________________
                 
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 17:00

Yep il est plus lourd en mémoire c'est sur, mais après ça dépend si tu appels constant_get souvent ou pas.

C’est sur que si tu l’appel une fois toutes les trente six minutes un execute string l'emporte mais une fois par step vaux mieux consommer un peut de mémoire.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 17:08

Une fois par step c'est rien non plus hein x)
Et après la lenteur de string_execute dépend pas mal aussi de son contenu, la avec juste un assignement de variable, cpas terrible hein :b

_________________
                 
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 17:13

Ok, ok, j’avais fait des tests avec execute string et ça piqué du coup je l'ai proscrit en fait x) (test fait avec de grosses boucles comme dab).

Revenir en haut Aller en bas
Oculus
Utilisateur confirmé: Rang *****


Messages : 1688

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 18:45

Eh attend je comprend pas trop le truck mais pour quoi ne pas assigner ta constante pour ne pas la rechercher à chaque step ?
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

MessageSujet: Re: Accéder à une constante via un string.   Mar 3 Avr 2012 - 18:57

Pour l'assigné dans une variable faut la récupérer.

Apres c'est un script à utiliser que dans des cas très rares. Ce n'est pas un truc révolutionnaire hein.
Je le met car j'en ai eu besoin.
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Accéder à une constante via un string.   

Revenir en haut Aller en bas
 
Accéder à une constante via un string.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Le trop petit string du septuagénaire
» String
» Plutôt culotte, string ou boxer ?
» Potion Adrenaline pour accélérer la pousse !! Recette par ici !!
» Masque « maison » au gingembre pour revitaliser les cheveux et accélérer la pousse des cheveux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Scripts GML-
Sauter vers: