zsh-workers
 help / color / mirror / code / Atom feed
* Associative array index.
@ 2000-04-06 17:09 Peter Stephenson
  2000-04-09 22:12 ` Bart Schaefer
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Stephenson @ 2000-04-06 17:09 UTC (permalink / raw)
  To: Zsh hackers list

I'm sure we've had this discussion but the behaviour is still inconsistent.
The lexer and the parameter code disagree over the handling of associative
array indices.

% typeset -A foo
% foo=("'" ouch)
% print $foo['
quote> 

but

% print $foo[']'
ouch

Maybe the lexer can be educated, but doing it this way we are always going
to have problems with any expression with `]' in it, especially since no
form of quoting works in the [...].  I'd prefer to do it the way perl does
it, which is if you want quoting you add it yourself.  The current way of
doing it is supposed to be like a double-quoted string, but it isn't, as
this example shows.  I should offer a prize for anyone able to extract
the value of
  foo=("]" ouch)
by direct indexing.  Indirect indexing using a parameter is OK, although
this can get confused, too.

% print ${nonexistent:-"]"}
]
% print $foo[${nonexistent:-"]"}]
zsh: parse error

which shows how thoroughly horrible it is.

-- 
Peter Stephenson <pws@cambridgesiliconradio.com>
Cambridge Silicon Radio, Unit 300, Science Park, Milton Road,
Cambridge, CB4 0XL, UK                          Tel: +44 (0)1223 392070


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-04-09 22:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-04-06 17:09 Associative array index Peter Stephenson
2000-04-09 22:12 ` Bart Schaefer

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).