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:
 
best way to limit # of attempts to login to protected page? (2000)
 
 Date+time (2004)
 
[SHOWIF]s and empty arguments (1997)
 
method of payment (1997)
 
Running _every_ page through WebCat ? (1997)
 
japanese characters (1997)
 
2.0 Info (1997)
 
2.0 Info (1997)
 
Emailer port change (1997)
 
Directory Overload (1998)
 
 [OT] Checkboxes! Javascript? (2005)
 
cookies and [returnraw] (1997)
 
Another question (1997)
 
Bug Report in the docs or? Listfields WebDNA 4.5 (2002)
 
WebCat2 - [format thousands] (1997)
 
Form Submition (2003)
 
Deleting Multiple Database Records based on Checkbox (1998)
 
 OT: Digger (2007)
 
WebCat2 - [format thousands] (1997)
 
 setcookie expires (2004)