From: Ilias Lazaridis Date: 2005-03-31T18:44:49+09:00 Subject: Re: [EVALUATION] - E03 - jamLang Evaluation Case Applied to Ruby James Edward Gray II wrote: > On Mar 29, 2005, at 11:29 PM, Ilias Lazaridis wrote: > >> I've reviewed a little the documentation, but find nothing about >> metadata. > > Probably because it's too general a topic. The word "metadata" changes > meaning by context. ok >> Is there a standard way to apply metadata/annotations to my class >> Talker, its Methods, its Attributes? >> >> E.g.: >> >> class Talker >> >> attr_accessor :name # Type = String; Label = Name; Size = 30; >> attr_accessor :age # Type = int; Label = Age; Min=1; Max=150; >> >> def sayYourName >> end >> end > > Your comment has already hit on one solution. :) There may be many > others, depending on how you intend to use this information... I extract: Ruby has not standard-mechanism for metadata/annotations. ok >> "attr_accessor" does not work on class variables (e.g. @@count). >> >> Must I create @@var/getter/setter manually? > > Not exactly. Here's a trick: [...] - (trick's and workarounds) > Most editors I've ever seen will allow you to macro that and assign it > to a single keystroke. I am aware about editors and macros. - Where can I find the implementation of "attr_accessor"? I'm intrested in seeing how much effort it is to write an own "flex_attr_accessor". [I will possibly include this in the evaluation template, section "language extension"] > My opinion, feel free to completely ignore, is that you've strayed > pretty far from "evaluating Ruby" when you worry about details like > this. We can sit here and show you examples like the above > indefinitely, exploring all corners of the language. There's no > substitute for just learning the language and seeing what it can do for > you though, and this is a poor way to go about that. > > James Edward Gray II I've an evaluation template, which I like to apply to several languages. Ruby looks very nice till now, although I've hit already some limitations: http://lazaridis.com/case/lang/ruby.html .. -- http://lazaridis.com