in reply to Re: Maintainable Code?
in thread Maintainable Code?

What if you misspell a key?

My test cases catch it, just as they do if I mistype an array index. :)

Replies are listed 'Best First'.
Re: Re: Re: Maintainable Code?
by BrowserUk (Pope) on Nov 12, 2002 at 00:36 UTC

    Whilst I completely disagree that the ability to silently typo would ever stop me from using the enormous utility of hashes, there are times when it would be very useful to be able to turn off the autovivification of elements.

    Perhaps this could be added as an attribute in Perl 6 so that it could be controlled on a hash by hash basis? I settle for another strict option so that it could be controlled on a lexical basis.

    Ideally, I think that it would be great to be able to do this lexically on a hash by hash basis. That way you could indicate some parts of your code that you want to autovivify keys of this hash within this scope, where you know you are going to be creating them, but turn it off in other places where you simply want to access the value of existing keys.

    I appreciate that you can use exists to implement this, but its one of those housekeeping chores that I'd really like to be able to have the compiler/interpreter take care of for me. Its less likely to forget than I am:^)

    Nah! You're thinking of Simon Templar, originally played (on UKTV) by Roger Moore and later by Ian Ogilvy