On 2018-08-05 21:22, Richard Gaskin via use-livecode wrote:
Mark Waddingham wrote:
In your use-case for 'valueDiff' - do you need to tell the difference
between a key value being the empty string and a key value not being
present at all?
In my own head, any name-value pair, even one in which the value is an
empty string, is worth taking into account.
In the general case it depends on what data you are modelling with an
array.
If an array key-value is modelling a field which is not optional, then
there is no need to distinguish between an array key being there, and
one not being there - i.e. all field accesses can be tRecord[tKey], and
your key value can be empty.
If a field's value has to be non-empty to be valid, then you can test
for existence of a field by doing tRecord[tKey] is not empty. So, again,
presence or not presence of an array key is immaterial.
The only case where you need to treat no key-value as different from
empty key-value is where a valid value for an optional field can be the
empty string. In which case that field access needs to be structured as:
if tKey is among the keys of tRecord then
-- yay the key is there
else
-- oh, there is no key
end if
This is because LC doesn't see the difference between the empty string
and absence of a value - but you can model that with an array key-value
which is optional.
Warmest Regards,
Mark.
--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode