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

Reply via email to