Uri Guttman <[EMAIL PROTECTED]> writes: >>>>>> "SC" == Simon Cozens <[EMAIL PROTECTED]> writes: > > SC> [EMAIL PROTECTED] (Damian Conway) writes: > >> > hashes can now take objects as keys and won't just stringify them. > >> > >> Correct. But I believe that's only if the hash has a property that marks > >> its keys as being objects, not strings: > >> > >> my %hash is keyed(REF); > >> > >> And, even if that's the default, it still oughtn't apply to PAIRs. > > SC> So, uhm, what *does* happen if I do > > SC> $hash{$pair} = "foo"; > > SC> Runtime error? And what if I do this: > > SC> my %hash is keyed(REF); > SC> $hash{bless $pair, "NotAPairReally"} = "foo"; > SC> ... > SC> for %hash.kv -> ($k, $v) { > SC> bless $k, "PAIR"; > SC> } > > SC> Storing pairs as hash keys could lead to interestingly funky data > SC> structures. I'm sad that this is being ruled out. > > > i don't think he said that is ruled out. it is not the default > behavior. i think if you declared it as keyed(PAIR) it would do what you > want.
But that implies that *all* the keys will be pairs. Which is (emphatically) not necessarily the case. -- Piers "It is a truth universally acknowledged that a language in possession of a rich syntax must be in need of a rewrite." -- Jane Austen?