Un atelier Ruby · Édition d'ApprentissageA Ruby Workshop · Learning Edition

L'objet Method, ou pourquoi on ne le passe pas The Method object, and why you don't pass it

Définir une méthode ne donne aucune valeur à transporter : il faut la demander, obj.method(:m), pour obtenir un objet Method appelable comme une lambda. Mais ce handle est un instantané — il fige l'implémentation au moment de la capture. Envoyer le message, lui, ré-résout à chaque appel. Toute la différence entre une méthode et un message tient là. Defining a method gives you no value to carry: you have to ask for it, obj.method(:m), to get a Method object callable like a lambda. But that handle is a snapshot — it freezes the implementation at capture time. Sending the message instead re-resolves on every call. The whole difference between a method and a message lives there.

AudienceAudience
Dev à l'aise avec procs/lambdas, prêt à réifier une méthode Dev comfortable with procs/lambdas, ready to reify a method
Format
Self-paced
ChapitresChapters
5
Date
Mai 2026 May 2026
≈ 21 min ●●●○ MethodMessageLate binding
🔒

La suite est réservée The rest is members-only

Le premier numéro est libre. Débloque tout The Ruby Loop — tous les volumes, à vie — pour 5 €, paiement unique. The first issue is free. Unlock all of The Ruby Loop — every volume, forever — for €5, one-time.

Retour au kiosqueBack to newsstand