Re: Listing Words Backwords

This WebDNA talk-list message is from

2001


It keeps the original formatting.
numero = 37909
interpreted = N
texte = >As the [ListWords] context has no parameters that would allow >listing in reverse order... > >I'm looking for an extremely efficient bit of code that will allow >me to loop through words in a string in reverse order. > >I have created my own solution, but I have a new site that I'll need >to use this on every page so I am wondering if there might be a more >streamlined method of doing this, or just something I may have >overlooked in the docs. My solution uses a combination of two >listwords loops, several interpret tags, and a numeric loop to > >do an 'artificial array'. I'd like to slim this down if it's at all possible. Michael,The basic idea is this[text]reversed=[/text] [listwords words=a,b,c,d,e] [text]reversed=[word],[reversed][/text] [/listwords]Don't worry about the extra , at the end of reversed, it wont hurt a thing. Here is some code that I tried working on for you, but ran out of time, it almost works ;) I think I've got the indirection wrong by a little bit.HTHs -Sam [text]x=a,b,c,d,e[/text] [include file=flipwords.inc&flipwords=x&flipdelimiters=,] X: [x]
--flipwords.inc: [listwords words=[interpret][[flipwords]][/interpret]&delimiters=[interpret][[flipdelimiters]][/interpret]] [flipwords]. [text][flipwords][/text]. [word]. [index] ! [showif [index]=1][text][flipwords]=[/text][/showif] [text][flipwords]=[delimiter][word][text][flipwords][/text][/text] [flipwords]. [text][flipwords][/text]. [word]. [index]
[/listwords] > >My solution is an include file that will flip the words in a text variable. >Usage: >[text]wordlist=a,b,c,d,e[/text] >[include file=^flipwords.inc&flipwords=wordlist&flipdelimiters=,] >[wordlist] > > >The output is e,d,c,b,a > >Code for flipwords.inc: > >------- >[showif [flipwords]![raw][flipwords][/raw]][!] >[/!][showif [flipwords]!][!] >[/!][showif [interpret][[flipwords]][/interpret]!][!] >[/!][text]flipwordsd=[if ([flipdelimiters]![raw][flipdelimiters][/raw])|( >[flipdelimiters]!)][then][flipdelimiters][/then][else], >.[/else][/if][/text][!] >[/!][math show=f]flipwordsx=[countwords >delimiters=[flipwordsd]][interpret][[flipwords]][/interpret][/countwords][/math] >[!] >[/!][math show=f]flipwordsy=[flipwordsx]+1[/math][!] >[/!][listwords >words=[interpret][[flipwords]][/interpret]&delimiters=[flipwordsd]][!] >[/!] [math show=f]flipwordsy=[flipwordsy]-1[/math][!] >[/!] [text show=t]flipwords[flipwordsy]=[word][delimiter][/text][!] >[/!][/listwords][!] >[/!][text][flipwords]=[loop >start=1&end=[flipwordsx]][interpret][flipwords[index]][/interpret][/loop][/text] >[!] >[/!][/showif][!] >[/!][/showif][!] >[/!][/showif] >------ ------------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://search.smithmicro.com/ Associated Messages, from the most recent to the oldest:

    
  1. Re: Listing Words Backwords (Samuel Renkert 2001)
  2. Re: Listing Words Backwords (Michael Davis 2001)
  3. Re: Listing Words Backwords (Gene Beljaeff 2001)
  4. Listing Words Backwords (Michael Davis 2001)
>As the [listwords] context has no parameters that would allow >listing in reverse order... > >I'm looking for an extremely efficient bit of code that will allow >me to loop through words in a string in reverse order. > >I have created my own solution, but I have a new site that I'll need >to use this on every page so I am wondering if there might be a more >streamlined method of doing this, or just something I may have >overlooked in the docs. My solution uses a combination of two >listwords loops, several interpret tags, and a numeric loop to > >do an 'artificial array'. I'd like to slim this down if it's at all possible. Michael,The basic idea is this[text]reversed=[/text] [listwords words=a,b,c,d,e] [text]reversed=[word],[reversed][/text] [/listwords]Don't worry about the extra , at the end of reversed, it wont hurt a thing. Here is some code that I tried working on for you, but ran out of time, it almost works ;) I think I've got the indirection wrong by a little bit.HTHs -Sam [text]x=a,b,c,d,e[/text] [include file=flipwords.inc&flipwords=x&flipdelimiters=,] X: [x]
--flipwords.inc: [listwords words=[interpret][[flipwords]][/interpret]&delimiters=[interpret][[flipdelimiters]][/interpret]] [flipwords]. [text][flipwords][/text]. [word]. [index] ! [showif [index]=1][text][flipwords]=[/text][/showif] [text][flipwords]=[delimiter][word][text][flipwords][/text][/text] [flipwords]. [text][flipwords][/text]. [word]. [index]
[/listwords] > >My solution is an include file that will flip the words in a text variable. >Usage: >[text]wordlist=a,b,c,d,e[/text] >[include file=^flipwords.inc&flipwords=wordlist&flipdelimiters=,] >[wordlist] > > >The output is e,d,c,b,a > >Code for flipwords.inc: > >------- >[showif [flipwords]![raw][flipwords][/raw]][!] >[/!][showif [flipwords]!][!] >[/!][showif [interpret][[flipwords]][/interpret]!][!] >[/!][text]flipwordsd=[if ([flipdelimiters]![raw][flipdelimiters][/raw])|( >[flipdelimiters]!)][then][flipdelimiters][/then][else], >.[/else][/if][/text][!] >[/!][math show=f]flipwordsx=[countwords >delimiters=[flipwordsd]][interpret][[flipwords]][/interpret][/countwords][/math] >[!] >[/!][math show=f]flipwordsy=[flipwordsx]+1[/math][!] >[/!][listwords >words=[interpret][[flipwords]][/interpret]&delimiters=[flipwordsd]][!] >[/!] [math show=f]flipwordsy=[flipwordsy]-1[/math][!] >[/!] [text show=t]flipwords[flipwordsy]=[word][delimiter][/text][!] >[/!][/listwords][!] >[/!][text][flipwords]=[loop >start=1&end=[flipwordsx]][interpret][flipwords[index]][/interpret][/loop][/text] >[!] >[/!][/showif][!] >[/!][/showif][!] >[/!][/showif] >------ ------------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://search.smithmicro.com/ Samuel Renkert

DOWNLOAD WEBDNA NOW!

Top Articles:

Talk List

The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...

Related Readings:

Parameter vs. Operator (1998) No Wanna Duppys (1998) RE: Credit card processing - UK (1997) bug in [SendMail] (1997) Ok here is a question? (1997) Protecting webdelivery (1997) more info on [setlineitems] (1997) Expected behavior? (1998) SAVECART (1997) really wierd browser truncating (1997) [WebDNA] WebDNA on LiveCD ... (2008) Showif, Hideif reverse logic ? (1997) Re:quit command on NT (1997) More on the email templates (1997) PCS Emailer's role ? (1997) select multiple 2 more cents (1997) Multiple Merchant Accounts? (1997) SKU lookup (1997) Width & Height (1998) Alternating BGColors in Table Rows (1998)