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:

2.0 Info (1997) sorting month by month (2004) Nested tags count question (1997) Resume Catalog ? (1997) $flushdatabases question ... (1998) Suggestions (1998) PayPal Instant Payment Notification (IPN) (2002) Re2: AAgghh!! Help, please. SSL strikes again. (1997) Mac: [ListFiles] bug alert (1997) Listing Words Backwords (2001) Web Catalog 2 demo (1997) Nested tags count question (1997) Now when I send TeaRoom Order fields it does not post in Invoice. (1997) Comments in db? (1997) Searching multiple Databases (1997) OT: Weird table rendering w/ WebCat in Explorer (2005) show if date < expiry date (small corrections) (2002) IIS 4 (1998) [ShowIf] a either fields are blank (1998) Summing fields (1997)