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:
 
In Digest Dijon (2000)
 
U&P IIS concept (1998)
 
$Append for Users outside the ADMIN group (1997)
 
[lineitems] and [writefile] (1998)
 
Running 2 two WebCatalog.acgi's (1996)
 
HELP! 10K hits per hour for pages that no longer exist! (2000)
 
Search Engines (2000)
 
 Parse question (2005)
 
[SearchString] problem with [search] context (1997)
 
CGI Request Time Out (1997)
 
Scoping rules in WebDNA 4.0  (2000)
 
More on the email templates (1997)
 
HTTP header line is too long? (1997)
 
Yosemite and 8.1??? (1999)
 
multi-paragraph fields (1997)
 
It gets better... posting problems + Webcat 3.0.7available -  did anyone know? (2000)
 
form data submission gets truncated (1997)
 
a search based on ^(contains) (1998)
 
all records returned. (1997)
 
ShowIf variables (1997)