GGarramuno / aol.com [mailto:GGarramuno / aol.com] wrote: > nobu.nokada / softhome.net wrote in message > news:<200406020151.i521pOHY005774 / sharui.nakada.niregi.kanuma. > tochigi.jp>... > > Hi, > > > > At Wed, 2 Jun 2004 03:43:42 +0900, > > Sam Sungshik Kong wrote in [ruby-talk:102028]: > > > s = "My name is %(name)s and my age is %(age)d." % > {"name": "Sam", > > > "age": 34} > > > > > I know that ruby has "#{name}" expression. > > > But that requires a variable named "name" in advance. > > > I want to bind the format string and data later. > > > > I proposed that feature once in [ruby-dev:16351], though > rejected, but > > still I think that it would be useful for I18N. Is it worth for RCR? > > Do you have an example on how would you use this? I ask > because I would also vote strongly against it. > > One of the things that I really loved about ruby while > learning it was its "#{}" syntax, as it seemed to me a much > more consistent way of achieving what sprintf, $, %, etc. > have been trying for years to achieve in languages like C, > perl, python, etc. > > [snip good examples] > The %s syntax is anything but readable once you have more > than 3 elements. Using a hash to try to clarify it seems to > me more of a crutch for languages that do not support ruby's > extremely powerful "#{}" formating. That syntax still forces > me to look for meaning of the text format string in two > different places (in the location of the text and at the end > of it), instead of in a single place as I read the string, > which seems like a step backwards overall. I think the op implied late binding or late generation of string and variables/hashes. I think ruby can do this w finesse, so we've seen examples of workarounds immediately posted (thanks guys, I learned a lot here). Thus given foo_string % foo_hash, one can generate foo_string anytime one wants and just tells it to "Hey foo_string, get your values from foo_hash". foo_hash of course may contain a lot of key-val pairs. We need not care/worry of the order or counts of the vars since the foo_string will just pickup what it wants. This style is also good for structures and records in db, imho. I hope I was thinking straight here. Pls correct me guys if I'm wrong. In this regard, I vote for Nobu's rcr. kind regards -botp