class Maps
{
Void main()
{
// signatures
// literals
// access
// modify
// listConversion
// iteration
// search
// map
// reduce
caseInsensitive
}
Void caseInsensitive()
{
echo("\n--- caseInsensitive ---")
x := Str:Str[:] { it.caseInsensitive = true }
x["a"] = "alpha"; show(x, "[a:alpha]")
r := x["A"]; show(r, "alpha")
x["B"] = "beta"; show(x, "[B:beta, a:alpha]")
x.
remove("b"); show
(x
, "[a:alpha]") }
Void show(Obj? result, Str what)
{
resultStr := "" + result
if (resultStr.size > 40) resultStr = resultStr[0..40] + "..."
echo(what.padr(40) + " => " + resultStr)
}
}
Y2xhc3MgTWFwcwp7CiAgVm9pZCBtYWluKCkKICB7CiAgICAvLyBzaWduYXR1cmVzCiAgICAvLyBsaXRlcmFscwogICAgLy8gYWNjZXNzCiAgICAvLyBtb2RpZnkKICAgIC8vIGxpc3RDb252ZXJzaW9uCiAgICAvLyBpdGVyYXRpb24KICAgIC8vIHNlYXJjaAogICAgLy8gbWFwCiAgICAvLyByZWR1Y2UKICAgIGNhc2VJbnNlbnNpdGl2ZQogIH0KCgogIFZvaWQgY2FzZUluc2Vuc2l0aXZlKCkKICB7CiAgICBlY2hvKCJcbi0tLSBjYXNlSW5zZW5zaXRpdmUgLS0tIikKICAgIHggOj0gU3RyOlN0cls6XSB7IGl0LmNhc2VJbnNlbnNpdGl2ZSA9IHRydWUgfQogICAgeFsiYSJdID0gImFscGhhIjsgIHNob3coeCwgIlthOmFscGhhXSIpCiAgICByIDo9IHhbIkEiXTsgICAgICAgc2hvdyhyLCAiYWxwaGEiKQogICAgeFsiQiJdID0gImJldGEiOyAgIHNob3coeCwgIltCOmJldGEsIGE6YWxwaGFdIikKICAgIHgucmVtb3ZlKCJiIik7ICAgICBzaG93KHgsICJbYTphbHBoYV0iKQogIH0KCiAgVm9pZCBzaG93KE9iaj8gcmVzdWx0LCBTdHIgd2hhdCkKICB7CiAgICByZXN1bHRTdHIgOj0gIiIgKyByZXN1bHQKICAgIGlmIChyZXN1bHRTdHIuc2l6ZSA+IDQwKSByZXN1bHRTdHIgPSByZXN1bHRTdHJbMC4uNDBdICsgIi4uLiIKICAgIGVjaG8od2hhdC5wYWRyKDQwKSArICIgPT4gIiArIHJlc3VsdFN0cikKICB9Cgp9