From: Ilias Lazaridis Date: 2005-04-04T00:34:43+09:00 Subject: Re: [EVALUATION] - E03 - jamLang Evaluation Case Applied to Ruby Csaba Henk wrote: > On 2005-04-03, Ilias Lazaridis wrote: > >>>>def talker >>>> >>>> def sayHello >>>> puts "Hello World" >>>> end >>>> >>>> def sayYourName >>>> puts @name >>>> end >>>> >>>>end > > [snip] > >>but it gives me the basic idea: >> >>class Object >> def meta() @meta ||= {} end >>end >> >>talker.sayYourName.meta[:author] = "it's just me" >>puts talker.sayYourName.meta[:author] >>=> it's just me > > If you want metadata for the _function_, then it's not exactly the way > to go. > > The sayYourName method, as defined above, is a side-effecting one, > writes out @name, then returns nil, which is a unique object, without > any reference to talker. That is, it's not a possible carrier of > metainformation. > > What seems to be feasible is implementing one of the following > behaviours: [...] - (several other suggestions) I like the extracted construct - and it works in practice. Thus I'm covered in this point. Thank you for your suggestions. .. -- http://lazaridis.com