On 4 ον, 17:50, James Gray <ja... / graysoftinc.com> wrote: > [Note: parts of this message were removed to make it a legal post.] > > On Sat, Jun 4, 2011 at 6:50 AM, Ilias Lazaridis <il... / lazaridis.com> wrote: > > 1.9 > > > names = ["Jane", "Michele", "Isabella"] > > > # current behaviour > > names.each do |name| > > print name > > end > > > #Question: How can I alter the behaviour of "each" in the following > > way: > > names.each do > > print item # "item" is used by default > > end > > > Is this possible, without going to C-level? > > Since [...] - (off topic) > class Item > def initialize(item) > @item = item > end > > attr_reader :item > end > > class Array > alias_method :sane_each, :each > def each(&iterator) > if iterator.arity.zero? http://www.ruby-doc.org/docs/ProgrammingRuby/html/ref_c_method.html#Method.arity > sane_each do |item| > Item.new(item).instance_eval(&iterator) Creating an object for each iteration. Can this be avoided somehow? > end > else > sane_each(&iterator) > end > end > end > > names = %w[Jane Michele Isabella] > > names.each do |name| > puts name > end > > names.each do > puts item > end > > __END__ This looks very good, and seems to work as expected. > The most important thing to learn [...] - (off-topic, crossing the line) > http://www.nationmaster.com/encyclopedia/Ilias-Lazaridis Have you checked the validity of this information? It was copied from a wikipedia "article" (the original article was deleted, due to violation of the wikipedia policies). The most important thing to learn is: when is it "expressing negative feelings" and when is it "defamation of character": http://www.lawinfo.com/fuseaction/Client.lawarea/categoryid/1162 See, I'm looking in parallel for a contract within the ruby domain (as I've chosen ruby for my own projects and thus I like to avoid to work in another languages). If you (people) continue to attack me on a *professional* level, I'll have to react at some point. So, please, set a filter, don't read or go get a dog. Or stay calm and focus on the technical stuff. . -- http://lazaridis.com