Re: Boolean Tests with dereferenced arrays are broken in
This WebDNA talk-list message is from 2003
It keeps the original formatting.
numero = 53166
interpreted = N
texte = Okay, just had to refresh my memory for how we intended this to work.This is not a bug with the ArrayGet context. Here's why:The ArrayGet context was provided as a means to retrieve several array indexvalues at once. ArrayGet expects the inner content to be a series of(x,y,z...) index tokens. You can have any WebDNA inside the ArrayGetcontext, but it will be pre-parsed, and is expected to parse to (x,y,z...)type tokens.For example, given the following code:[ArraySet name=array1&dim=3](1)=a&(2)=b&(3)=[/ArraySet][ArrayGet][loop start=1&end=3]([index])[/loop][/ArrayGet]The ArrayGet context is going to pre-parse the inner content first. So thiswould parse to:(1)(2)(3)Then the ArrayGet context will search for and interpret any (x,y,z...) typetokens it finds, ignoring anything else that exists. So the final resultis:abcThe Array tutorial demonstrates this fairly clearly, but perhaps thedocumentation could be improved.-----Original Message-----From: Bob Minor [mailto:bob@cybermill.com]Sent: Saturday, September 27, 2003 11:51 AMTo: WebDNA TalkSubject: Boolean Tests with dereferenced arrays are broken in WebDNA5.1dDevelopers are reporting the dereferenced arrays are broken.Here is the test results:[if "[test_var]" = "[none]"]The boolean engine works.Item 1 is [none].[if "[none]" = "[none]"]The boolean engine is broken with respect to dereferenced array values.temp_var is [none].[if "[temp_var]" = "[none]"]The boolean engine is broken with respect to dereferenced array valueseven if the value is deposited in a temporary variable.[if "[none]" = [interpret]"[none]"[/interpret]]The boolean engine is broken with respect to dereferenced array valueseven if the compared value is dereferenced by an [interpret] context.[if "[none]" = "none"]The boolean engine is broken with respect to dereferenced array valueseven if the compared value is a simple string.Here is the test:WebDNA version: [version]
[text]test_var=[none][/text][raw][if "[test_var]" = "[none]"][/raw]
[if "[test_var]" = "[none]"] [then] The boolean engine works.
[/then] [else]
The boolean engine is broken. [/else][/if][arrayset name=test_array&dim=1](1)=[none][/arrayset][arrayget name=test_array]
Item 1 is (1).
[raw][if "(1)" = "[none]"][/raw]
[if "(1)" = "[none]"] [then] The boolean engine works with respect to dereferenced arrayvalues.
[/then] [else]
The boolean engine is broken with respect to dereferencedarrayvalues.
[/else][/if][text]temp_var=(1)[/text]
temp_var is [temp_var].
[raw][if "[temp_var]" = "[none]"][/raw]
[if "[temp_var]" = "[none]"] [then] The boolean engine works with respect to dereferenced array valuesonlyif the value is deposited in a temporary variable.
[/then] [else]
The boolean engine is broken with respect to dereferencedarrayvalues even if the value is deposited in a temporary variable.
[/else][/if]
[raw][if "(1)" = [interpret]"[none]"[/interpret]][/raw]
[if "(1)" = [interpret]"[none]"[/interpret]] [then] The boolean engine works with respect to dereferenced array valuesonlyif the compared value is dereferenced by an [raw][interpret][/raw]context.
[/then] [else]
The boolean engine is broken with respect to dereferencedarrayvalues even if the compared value is dereferenced by an[raw][interpret][/raw] context.
[/else][/if]
[raw][if "(1)" = "none"][/raw]
[if "(1)" = "none"] [then] The boolean engine works with respect to dereferenced array valuesonlyif the compared value is a simple string.
[/then] [else]
The boolean engine is broken with respect to dereferencedarrayvalues even if the compared value is a simple string.
[/else][/if][/arrayget]-------------------------------------------------------------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 toWeb Archive of this list is at: http://webdna.smithmicro.com/-------------------------------------------------------------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://webdna.smithmicro.com/
Associated Messages, from the most recent to the oldest:
Okay, just had to refresh my memory for how we intended this to work.This is not a bug with the ArrayGet context. Here's why:The ArrayGet context was provided as a means to retrieve several array indexvalues at once. ArrayGet expects the inner content to be a series of(x,y,z...) index tokens. You can have any WebDNA inside the ArrayGetcontext, but it will be pre-parsed, and is expected to parse to (x,y,z...)type tokens.For example, given the following code:[ArraySet name=array1&dim=3](1)=a&(2)=b&(3)=[/ArraySet][ArrayGet][loop start=1&end=3]([index])[/loop][/ArrayGet]The ArrayGet context is going to pre-parse the inner content first. So thiswould parse to:(1)(2)(3)Then the ArrayGet context will search for and interpret any (x,y,z...) typetokens it finds, ignoring anything else that exists. So the final resultis:abcThe Array tutorial demonstrates this fairly clearly, but perhaps thedocumentation could be improved.-----Original Message-----From: Bob Minor [mailto:bob@cybermill.com]Sent: Saturday, September 27, 2003 11:51 AMTo: WebDNA TalkSubject: Boolean Tests with dereferenced arrays are broken in WebDNA5.1dDevelopers are reporting the dereferenced arrays are broken.Here is the test results:[if "[test_var]" = "[none]"]The boolean engine works.Item 1 is [none].[if "[none]" = "[none]"]The boolean engine is broken with respect to dereferenced array values.temp_var is [none].[if "[temp_var]" = "[none]"]The boolean engine is broken with respect to dereferenced array valueseven if the value is deposited in a temporary variable.[if "[none]" = [interpret]"[none]"[/interpret]]The boolean engine is broken with respect to dereferenced array valueseven if the compared value is dereferenced by an [interpret] context.[if "[none]" = "none"]The boolean engine is broken with respect to dereferenced array valueseven if the compared value is a simple string.Here is the test:WebDNA version: [version]
[text]test_var=[none][/text][raw][if "[test_var]" = "[none]"][/raw]
[if "[test_var]" = "[none]"] [then] The boolean engine works.
[/then] [else] The boolean engine is broken.
[/else][/if][arrayset name=test_array&dim=1](1)=[none][/arrayset][arrayget name=test_array]
Item 1 is (1).
[raw][if "(1)" = "[none]"][/raw]
[if "(1)" = "[none]"] [then] The boolean engine works with respect to dereferenced arrayvalues.
[/then] [else] The boolean engine is broken with respect to dereferencedarrayvalues.
[/else][/if][text]temp_var=(1)[/text]
temp_var is [temp_var].
[raw][if "[temp_var]" = "[none]"][/raw]
[if "[temp_var]" = "[none]"] [then] The boolean engine works with respect to dereferenced array valuesonlyif the value is deposited in a temporary variable.
[/then] [else] The boolean engine is broken with respect to dereferencedarrayvalues even if the value is deposited in a temporary variable.
[/else][/if]
[raw][if "(1)" = [interpret]"[none]"[/interpret]][/raw]
[if "(1)" = [interpret]"[none]"[/interpret]] [then] The boolean engine works with respect to dereferenced array valuesonlyif the compared value is dereferenced by an [raw][interpret][/raw]context.
[/then] [else] The boolean engine is broken with respect to dereferencedarrayvalues even if the compared value is dereferenced by an[raw][interpret][/raw] context.
[/else][/if]
[raw][if "(1)" = "none"][/raw]
[if "(1)" = "none"] [then] The boolean engine works with respect to dereferenced array valuesonlyif the compared value is a simple string.
[/then] [else] The boolean engine is broken with respect to dereferencedarrayvalues even if the compared value is a simple string.
[/else][/if][/arrayget]-------------------------------------------------------------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 toWeb Archive of this list is at: http://webdna.smithmicro.com/-------------------------------------------------------------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://webdna.smithmicro.com/
"Scott Anderson"
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:
price totals (2003)
Various Problems (1997)
[WebDNA] Help with iTools 9/WebDNA setup MacTel (2009)
Code database (1998)
WebCatalog Q & A pages (1997)
unable to launch acgi in WebCat (1997)
Email within tmpl ? (1997)
hidden databases (2000)
[WebDNA] filter out the exclaimation point (2017)
WebCat2.0 [format thousands .0f] no go (1997)
[protect] (2000)
Banner DNA (1997)
Credit Card Number Stripping Digit (1997)
WebStar Crashes (2005)
Bug Report, maybe (1997)
db access problem after switching to SSL (2001)
Help getting [shownext] to increment (2003)
[WebDNA] WebDNA Crashing or Not **YES** (2008)
[WebDNA] feature suggestion (2011)
Re:quit command on NT (1997)