- Vico2aMembre
- Nombre de messages : 22
Age : 33
Localisation : Corse du Sud
Distinction : aucune
Date d'inscription : 25/06/2015
Aide pour scripter
Dim 13 Sep 2015 - 18:47
Bonjour a tous et a toutes,
Depuis quelques temps, j'apprends a scripter, seulement, les tutoriels que je suis sont en anglais, et je n'arrive pas a comprendre ce que fait le mot clé "alias". Si un quelconque scripteur pourrait me l'expliquer, il serait le bienvenue !
Bien a vous
Vic'
Depuis quelques temps, j'apprends a scripter, seulement, les tutoriels que je suis sont en anglais, et je n'arrive pas a comprendre ce que fait le mot clé "alias". Si un quelconque scripteur pourrait me l'expliquer, il serait le bienvenue !
Bien a vous
Vic'
Re: Aide pour scripter
Dim 13 Sep 2015 - 23:46
la méthode alias sinifi que tu fait une copie de ta méthode
ex : alias test(copie) start(original)
nom_d_une_def()
end
ex : alias test(copie) start(original)
nom_d_une_def()
end
- Vico2aMembre
- Nombre de messages : 22
Age : 33
Localisation : Corse du Sud
Distinction : aucune
Date d'inscription : 25/06/2015
Re: Aide pour scripter
Mar 15 Sep 2015 - 18:28
Et donc, la copie est faite ou ? Et quelle est utilité de ce mot clé ?
- HinolaModérateur
- Nombre de messages : 969
Age : 30
Distinction : Gagnant invaincu à ce jour de tous les concours de mapping de ce forum fait par Coco'
[Coco' ]
Grande figure du Mapping Show .
Grand admirateur de notre mascotte Vehyxine
STI Haruhiste like me [Hamu' ]
et fier de l'être ! [bibi ^^]
Un fier Homme du désert sans foi ni loi è_é [:3]
Date d'inscription : 21/05/2009
Re: Aide pour scripter
Mer 16 Sep 2015 - 18:29
Hey !
j'arrive avec un exemple (je viens juste d'apprendre les alias)
Normalement, c'est comme ça que ça marche.
Ce qui suit s'appelle le monkeyPatch.
C'est pour compléter une méthode existante sans la modifier.
Imaginons tu a une classe à la quelle tu ne dois pas toucher avec une méthode :
à cette méthode tu veux ajouter une nouvelle instruction :
instruction 3
Tu crée donc un autre script avec une classe DontTouch (qui complétera la première)
deux choix :
Tu écrase l'ancienne méthode
Ou tu crée un alias de la méthode de base, que tu utilisera dans une nouvelle méthode qui portera son nom :
Ainsi, en appelant methode de la class DontTouch, les 3 instructions seront effectuées.
j'arrive avec un exemple (je viens juste d'apprendre les alias)
Normalement, c'est comme ça que ça marche.
Ce qui suit s'appelle le monkeyPatch.
C'est pour compléter une méthode existante sans la modifier.
Imaginons tu a une classe à la quelle tu ne dois pas toucher avec une méthode :
- Code:
class DontTouch
def methode
instruction 1
instruction 2
end
end
à cette méthode tu veux ajouter une nouvelle instruction :
instruction 3
Tu crée donc un autre script avec une classe DontTouch (qui complétera la première)
deux choix :
Tu écrase l'ancienne méthode
- Code:
class DontTouch
def methode
instruction 1
instruction 2
instruction 3
end
end
Ou tu crée un alias de la méthode de base, que tu utilisera dans une nouvelle méthode qui portera son nom :
- Code:
class DontTouch
# methode devient oldmethode
alias_method :oldmethode, :methode
def methode
# on utilise l'ancienne méthode via son nouveau nom
oldmethode
instruction 3
end
end
Ainsi, en appelant methode de la class DontTouch, les 3 instructions seront effectuées.
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Aide pour scripter
Mer 16 Sep 2015 - 18:30
imagine tu as une def :
tu veut ajouter un truc dedans sans tout changer, du style :
le alias te permet de faire ça depuis un autre script explication :
ce code :
est équivalente a :
en gros tu fait une copie de ta def avec un nouveaux nom
quand tu creer 2 def de même nom dans une classe celle qui ce trouve la plus bas (au niveaux exécution) écrase l'autre
imagine donc que ta def test est définie quelque part.
tu en fait une copie et tu réecris l'ancienne def :
on a alors une chose équivalente a :
bien sur il y a des cas ou cette technique n'est pas suffisante (genre si tu doit insérer du code dans le blabla ^^), mais en tout cas voici l'idée
EDIT : moins rapide
- Code:
def test
blabla
end
tu veut ajouter un truc dedans sans tout changer, du style :
- Code:
def test
blabla
blabla2
end
le alias te permet de faire ça depuis un autre script explication :
ce code :
- Code:
def test
blabla
end
alias test_nouveaux test
est équivalente a :
- Code:
def test
blabla
end
def test_nouveaux
blabla #<= même contenue
end
en gros tu fait une copie de ta def avec un nouveaux nom
quand tu creer 2 def de même nom dans une classe celle qui ce trouve la plus bas (au niveaux exécution) écrase l'autre
imagine donc que ta def test est définie quelque part.
tu en fait une copie et tu réecris l'ancienne def :
- Code:
alias test_nouveaux test
def test
test_nouveaux
blabla2
end
on a alors une chose équivalente a :
- Code:
def test
blabla
blabla2
end
bien sur il y a des cas ou cette technique n'est pas suffisante (genre si tu doit insérer du code dans le blabla ^^), mais en tout cas voici l'idée
EDIT : moins rapide
- Vico2aMembre
- Nombre de messages : 22
Age : 33
Localisation : Corse du Sud
Distinction : aucune
Date d'inscription : 25/06/2015
Re: Aide pour scripter
Jeu 17 Sep 2015 - 7:34
J'ai tout compris (enfin je crois) un grand merci a vous !
Vic'
Vic'
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|