>> >> How about block level? >> >> >> >> using jcode do >> >> p "\244\242\244\244".chop >> >> end >> > >> > I had asked Shugo the question in [ruby-dev:27419], and his >> > answer is that he prefers one-line construct, since he doesn't >> > like to deepen indent level more. >> >> p "\244\242\244\244".chop using jcode > > But then how to express (as proposed): > > p "\244\242\244\244".jcode$chop.kcode$change > > Gets silly ? A bit silly, yes p "\244\242\244\244".chop.change using jcode using kcode Works as long as there is no conflict. The problem of conflicting namespaces was mentioned in this thread; I ask, do we care? class X include A include B end may conflict as well, but we accept that methods from B override methods from A (in the same way jcode would override kcode in my example above). If there is such a conflict, you would/should/could do chopped = "\244\242\244\244".chop using jcode p chopped.change using kcode .. obj.xtract.manipulate.serialize using FunnyNamespace if you need three namespaces here, did you do a proper design job? (the answer can be Yes, but I suppose it's mostly No; if it is Yes, I certainly hope the namespaces have different purposes) The same story (both overriding and the amount of namespaces needed) holds for begin using OneNamespace using LogElsewhere using AnotherNamespace { ...code... } end whether using is in block style or not. Bye, Kero. +--- Kero ------------------------- kero@chello@nl ---+ | all the meaningless and empty words I spoke | | Promises -- The Cranberries | +--- M38c --- http://members.chello.nl/k.vangelder ---+