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:
>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)