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:

Tech support (2000) [Semi-OT] Eaaaaaasy OSX FTP (2003) Re[2]: Enhancement Request for WebCatalog-NT (1996) [listfiles] (2004) Creating 404 Not Found pages (1999) WebCat B13 Mac CGI -- Frames question (1997) requiring form fields? (2000) HTML encoding in URLs (1997) Search in 2 or more catalogs (1997) A good idea? (1998) WebCatalog/Mac 2.1b2 New Features (1997) New Guestbook Source (1997) POS (2000) RE: type 2 errors with ssl server (1997) [thisurl] or another way (2000) quick question. (2007) [WebDNA] grep again (2010) PCS Customer submissions ? (1997) PCS Frames (1997) Grepping spaces (2004)