Re: [WebDNA] showif with empty variable
This WebDNA talk-list message is from 2015
It keeps the original formatting.
numero = 112181
interpreted = N
texte = I like your IsSet, but=E2=80=A6I was amazed when I figured out you could use a single punctuation mark =as a function name so I had to do it. It=E2=80=99s easy to type (4 less =letters!) and avoids that whole annoying issue when you have to make =your function names international (example: in Canada IsSet becomes =SetEh )A few years ago I learned (and have since mostly forgotten) Ruby on =Rails. The thing that frustrated me most about that language/framework =is how =E2=80=9Cmagical=E2=80=9D it is. Code works or doesn=E2=80=99t =work based on it=E2=80=99s context. It kind of ruins the readability of =the code, because code that works in one place, won=E2=80=99t work in =another because it=E2=80=99s out of context which isn=E2=80=99t very =well documented because DUH, you=E2=80=99re just supposed to know how it =works (well, that=E2=80=99s the feeling I got from the developer =community)=20Anyway, [showif [IsSet selector]] vs. [showif [? selector]=3DF]. The =first changes the way people expect to see a showif. The 2nd is more =readable and accessible if someone else has to maintain the codebase =someday.Just my two cents, this isn=E2=80=99t a criticism, I just enjoy open =discussion to find the optimal solution to any given problem :)-Brian B.> On Mar 14, 2015, at 11:48 AM, Donovan Brooke
wrote:>=20> Nice Brian! we think alike.>=20> On looking at my IsSet function, which is similar to yours..=20> I do rather:> [then]T=3DT[/then]> [else]T=3DF[/then]>=20> This makes my call look something like this:>=20> [showif [IsSet selector]]> [include file=3Dblank_page.inc]> [/showif]>=20> Sincerely,> Donovan>=20>=20>=20>=20> On Mar 13, 2015, at 7:33 PM, Brian Burton wrote:>=20>> This is what I use>>=20>> [function name=3D?]>> [!] return T/F based on if a field exists and has a value[/!]>> [!] incoming variables: the name of the field to be tested i.e. [? =field] [/!]>> [If =("[url][interpret][[params_string]][/interpret][/url]"!"%5B[interpret][par=ams_string][/interpret]%5D") & =("[url][interpret][[params_string]][/interpret][/url]"!"")]>> [Then][return]T[/return][/Then]>> [Else][return]F[/return][/Else]>> [/If]>> [/function]>>=20>> usage: [showif [? selector]=3DF] [include blank_page.inc] [/showif]>>=20>>=20>>=20
Associated Messages, from the most recent to the oldest:
I like your IsSet, but=E2=80=A6I was amazed when I figured out you could use a single punctuation mark =as a function name so I had to do it. It=E2=80=99s easy to type (4 less =letters!) and avoids that whole annoying issue when you have to make =your function names international (example: in Canada IsSet becomes =SetEh )A few years ago I learned (and have since mostly forgotten) Ruby on =Rails. The thing that frustrated me most about that language/framework =is how =E2=80=9Cmagical=E2=80=9D it is. Code works or doesn=E2=80=99t =work based on it=E2=80=99s context. It kind of ruins the readability of =the code, because code that works in one place, won=E2=80=99t work in =another because it=E2=80=99s out of context which isn=E2=80=99t very =well documented because DUH, you=E2=80=99re just supposed to know how it =works (well, that=E2=80=99s the feeling I got from the developer =community)=20Anyway, [showif [IsSet selector]] vs. [showif [? selector]=3DF]. The =first changes the way people expect to see a showif. The 2nd is more =readable and accessible if someone else has to maintain the codebase =someday.Just my two cents, this isn=E2=80=99t a criticism, I just enjoy open =discussion to find the optimal solution to any given problem :)-Brian B.> On Mar 14, 2015, at 11:48 AM, Donovan Brooke wrote:>=20> Nice Brian! we think alike.>=20> On looking at my IsSet function, which is similar to yours..=20> I do rather:> [then]T=3DT[/then]> [else]T=3DF[/then]>=20> This makes my call look something like this:>=20> [showif [IsSet selector]]> [include file=3Dblank_page.inc]> [/showif]>=20> Sincerely,> Donovan>=20>=20>=20>=20> On Mar 13, 2015, at 7:33 PM, Brian Burton wrote:>=20>> This is what I use>>=20>> [function name=3D?]>> [!] return T/F based on if a field exists and has a value[/!]>> [!] incoming variables: the name of the field to be tested i.e. [? =field] [/!]>> [If =("[url][interpret][[params_string]][/interpret][/url]"!"%5B[interpret][par=ams_string][/interpret]%5D") & =("[url][interpret][[params_string]][/interpret][/url]"!"")]>> [Then][return]T[/return][/Then]>> [Else][return]F[/return][/Else]>> [/If]>> [/function]>>=20>> usage: [showif [? selector]=3DF] [include blank_page.inc] [/showif]>>=20>>=20>>=20
Brian Burton
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 easy questions re: [showif] and [sendmail] (1997)
Too many lines too add in one go (2003)
Separate SSL Server (1997)
Demo math questions (2000)
[AppendFile] problem (WebCat2b13 Mac .acgi) (1997)
calculating ShipCost depending on weight (1997)
Formulas.db / Quantity Discount problem (1998)
WebCat2 - [format thousands] (1997)
Webcat listserver - WAS - webcat method for waitingspecific amount of time? (2000)
Sendmail double space (2001)
Re2: frames & carts (1997)
ANother SHOWIF problem (1997)
Max Record length restated as maybe bug (1997)
verification (correction) (2004)
Closing databases (2003)
Next X hits (1996)
Further on formula.db failure to calculate shipCost (1997)
New Command prefs ... (1997)
update on include (1997)
date sorting and 'template (1997)