Re: [WebDNA] How to use [function]
This WebDNA talk-list message is from 2012
It keeps the original formatting.
numero = 108659
interpreted = N
texte = LawrenceI tend to use functions where I have a complicated bit of logic (either =within or without a search context), more often when I would prefer no =white space in between linesyou can do it like this[hideif [myVar]=3D1][!] [/!][text]myNewVar=3D100[/text][!][/!][/hideif]is the same as this[function name=3DgenerateNewVar] [hideif [myVar]=3D1] [text scope=3Dglobal]myNewVar=3D100[/text] [/hideif][return][/return][/function][generateNewVar]I find the 2nd one easier to read.It is especially handy when generating XML, I find.Alternatively I would use it for text translation - [translateMyText =textToTranslate=3D[myDateVar]&language=3Dfrench] - and MySQL functions - =somehow it's easier to print out [findMyRecords myVar=3D1] than do all =the steps necessary for=20Normally a repeated bit of logic where the output is always in the same =format, but small input elements change is where I would use it most. In =the example you have given, I would almost always write this as inline =code. If, however, you wanted to have a find function that always =printed the results out in the same manner, you could do the following:[function name=3DgetResults] [search db=3D[whichDb].db&&neSKUdata=3D[blank]] [founditems] [return]
[SKU]-[name]
[/return] [/founditems] [showif [numfound]=3D0] [return]Nothing to see here[/return] [/showif] [/search][/function]and on your page
[getResults whichDb=3DmyDb]
and again somewhere else
[getResults whichDb=3DanotherDb]
Hope this helps....TC> Toby,=20> I'm trying to understand in which case I should use the [function] or =not.> Your example is clear, It looks like it would be nice to have all the =webdna code in separate files, and have only the result called in the =page, that would make page codes clear.> for the break/stop the documentation says :> "'The [return] context does NOT 'break out' of a function call, so it =is possible to use one or more [return] contexts to 'tailor' the =functions output. ">=20> Kenneth,=20> how would you use an array with this kind of search function?>=20> Thanks> Lawrence
Associated Messages, from the most recent to the oldest:
LawrenceI tend to use functions where I have a complicated bit of logic (either =within or without a search context), more often when I would prefer no =white space in between linesyou can do it like this[hideif [myVar]=3D1]
[!] [/!]
[text]myNewVar=3D100[/text]
[!][/!][/hideif]is the same as this[function name=3DgenerateNewVar] [hideif [myVar]=3D1] [text scope=3Dglobal]myNewVar=3D100[/text] [/hideif]
[return][/return][/function][generateNewVar]I find the 2nd one easier to read.It is especially handy when generating XML, I find.Alternatively I would use it for text translation - [translateMyText =textToTranslate=3D[myDateVar]&language=3Dfrench] - and MySQL functions - =somehow it's easier to print out [findMyRecords myVar=3D1] than do all =the steps necessary for=20Normally a repeated bit of logic where the output is always in the same =format, but small input elements change is where I would use it most. In =the example you have given, I would almost always write this as inline =code. If, however, you wanted to have a find function that always =printed the results out in the same manner, you could do the following:[function name=3DgetResults] [search db=3D[whichDb].db&&neSKUdata=3D[blank]]
[founditems] [return][SKU]-[name]
[/return] [/founditems] [showif [numfound]=3D0]
[return]Nothing to see here[/return] [/showif] [/search][/function]and on your page
[getResults whichDb=3DmyDb]
and again somewhere else
[getResults whichDb=3DanotherDb]
Hope this helps....TC> Toby,=20> I'm trying to understand in which case I should use the
[function] or =not.> Your example is clear, It looks like it would be nice to have all the =webdna code in separate files, and have only the result called in the =page, that would make page codes clear.> for the break/stop the documentation says :> "'The
[return] context does NOT 'break out' of a function call, so it =is possible to use one or more
[return] contexts to 'tailor' the =functions output. ">=20> Kenneth,=20> how would you use an array with this kind of search function?>=20> Thanks> Lawrence
Toby Cox
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:
problems with 2 tags shakur (1997)
Nested vs conditional (1997)
WebCat2b14MacPlugIn - [include] doesn't hide the search string (1997)
[HIDEIF] inside [FOUNDITEM] (1997)
Virtual hosting and webcatNT (1997)
# fields limited? (1997)
Apache suffix mapping for .tpl (2000)
Need correct syntax for writing to header2 (1999)
Safari browser and WebDNA set-cookies (2003)
More than one db with the same namn (was: WC2f3) (1997)
Duplicate record (2005)
Modifying databases manually (was Banner DNA) (1997)
Stumped (1999)
2.0 Info (1997)
New NT betas available (1997)
RE: File Uploads (1998)
For those of you not on the WebCatalog Beta... (1997)
Mac 2.1b4 unknown error: BadSuffix (1997)
using showpage and showcart commands (1996)
WebCatalog2 Feature Feedback (1996)