Bonsoir,
Est-il possible de stocker une method dans une variable ?
Malgrès mes recherches je ne trouve pas...
Si oui je suis preneur de toute information pouvant m'être utile : )
Merci par avance
Bonsoir,
Est-il possible de stocker une method dans une variable ?
Malgrès mes recherches je ne trouve pas...
Si oui je suis preneur de toute information pouvant m'être utile : )
Merci par avance
# apt-get install freedom
Il y a des trucs vraiment épatant qui sont unique à Ruby. Voici l'article d'où vient l'exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 def gen_times(factor) return Proc.new {|n| n*factor } end times3 = gen_times(3) times5 = gen_times(5) times3.call(12) #=> 36 times5.call(5) #=> 25 times3.call(times5.call(4)) #=> 60
http://eli.thegreenplace.net/2006/04...s-and-methods/
Je te remercie pour l'exemple et pour le lien : ))))
# apt-get install freedom
Ce genre de technique (appelée « closure ») n'est pas spécifique à Ruby, on la trouve dans tous les langages fonctionnels, ainsi que dans Python et même dans PHP (ajout récent). Par contre, la syntaxe concise qu'autorise l'emploi d'un block est propre à Ruby.
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
Quand même. Avouez que les expressions Lambda et les outils d'expression régulière ce n'est quand même pas courant dans l'ensemble des langages de programmation.
Il y a des trucs qui font le bonheur des amateurs de métaprogrammation (et le malheur des débutants de Rails ...)
imprimera Hello There!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 "#{class NewClass; def test; "Hello"; end; end}" a = NewClass.new print "#{a.test} There!"
imprimera
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 eval "puts 2+2" eval "puts 'hello world'.upcase " def bonjour print 'bonsoir' end puts "#{bonjour}"
4
HELLO WORLD
bonsoir
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager