Question: Checking table entries

I have a table whose indices and entries are strings, as in:

    T := table(["green" = "gruen", "red" = "rot", "blue" = "blau"]);

Thus, T["green"] evaluates to "gruen" but T["asdf"] evaluates to T"asdf".

What is a good way to detect that "green" is a predefined index into the table but "asdf" is not?  I do it in a somewhat clumsy way, as in:

> has("green", [indices(T, 'nolist')]);
        true

> has("asdf", [indices(T, 'nolist')]);
        false

I suspect that there ought to be a less elaborate way of doing that.

Please Wait...