Ok, so have a close, attentive look to this example:
Brightscript Debugger> check = function(d): d.a = "a": d.A = "A": d["b"] = "b": d["B"] = "B": ? d: end function
Brightscript Debugger> d = {}: check(d)
<Component: roAssociativeArray> =
{
a: "A"
B: "B"
}
Brightscript Debugger> d.SetModeCaseSensitive(): check(d)
<Component: roAssociativeArray> =
{
B: "B"
a: "A"
b: "b"
}
The dot-notation is a case-lowering option.
The [] indexing is case-preserving BUT case-insensitive at the same time - so use that if you are sure there will be no keys that differ only in upper/lower casing. And if you set SetModeCaseSensitive(), then the indexing operator turns into both case-preserving AND case-sensitive.
That does not apply to the dictionary
literals (i.e. `{a: 1, A: 2}`) though - they are allways case-clobbering (for now?)