I disagree with your opinion on whats more readable and what looks better. Admittedly, its a matter of personal choice... but it so happens thatthe choice I prefer isn't currently available. I, and others, would like it to be.
Rob Seeger Dossy Shiobara wrote on 8/13/2004, 10:23 AM: > On 2004.08.13, Robert Seeger <[EMAIL PROTECTED]> wrote: > > # Lets output some financial data > > # We need to escape the $ for the monetary units > > > > ns_puts [subst { > > <tr> > > <td><a ref="link[set $i]">Item $i</a></td> > > <td>\$$amount($i)</td> > > </tr> > > } > > Compare that to: > > %> > <tr> > <td><a ref="link<%= [set $i] %>">Item <%= $i %></a></td> > <td>$<%= $amount($i) %></td> > </tr> > <% > > There's a LOT more "escaping" going on in the ASP-style version -- <%= > and %> are used instead of just one \ ... > > > For that type of output, yes its not the best choice. However, there > are > > situations where doing it inside an ns_adp_puts is the more hideous of > > the choices. For example: > > > > <table> > > <% > > foreach row $rows { > > foreach { > > item1 item2 item3 item4 item5 item6 item7 > > } $row {break} > > ### Output a lot of html for each row of data > > %> > > > > <tr> > > <!-- 30 lines of html here that output the items > > -- and the form elements involved with them > > --> > > </tr> > > > > %> > > ### Done with row > > } > > %> > > </table> > > I fail to see why the following is more "hideous" than your version > above: > > <table> > <% > foreach row $rows { > foreach { > item1 item2 item3 item4 item5 item6 item7 > } $row {break} > ### Output a lot of html for each row of data > ns_adp_puts [subst { > <tr> > <!-- 30 lines of html here that output the items > -- and the form elements involved with them > --> > </tr> > }] > ### Done with row > } > %> > </table> > > Instead of %> and <%, my version uses "ns_adp_puts [subst {" and "}]". > > The difference is, the actual "30 lines of HTML" that would be where the > HTML comment is in your version will have much more escaping using <%= > and %> than in mine where I only need to escape $ and [ and only IF they > actually appear in the HTML. In your version, every single time you > want to interpolate some Tcl chunk, you'll need to "escape" it with <%= > and %>. > > Regardless, there's too many folks out there who cut their teeth on web > scripting on VBScript and ASP to not at least support this style, but > the less ASP-style ADP code that's out there, the better. Just because > it's a popular doesn't mean it's better, and most people just think it's > better because that's what they learned first. It's just resistance to > change ... > > Unless, people really want to debate that Microsoft's known for > inventing things that really ARE best practices ... as opposed to just > creating a lot of inertia. I mean, all of those "enhancements" to the > HTTP protocol and JavaScript and CSS that are in MSIE that aren't > supported by other browsers ... everyone should do it that way, the > pages just LOOK better with those extra features ... > > -- Dossy > > -- > Dossy Shiobara mail: [EMAIL PROTECTED] > Panoptic Computer Network web: http://www.panoptic.com/ > "He realized the fastest way to change is to laugh at your own > folly -- then you can let go and quickly move on." (p. 70) > > > -- > AOLserver - http://www.aolserver.com/ > > To Remove yourself from this list, simply send an email to > <[EMAIL PROTECTED]> with the > body of "SIGNOFF AOLSERVER" in the email message. You can leave the > Subject: field of your email blank. > -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.