On Tue, Sep 25, 2018 at 05:17:27PM -0700, L A Walsh wrote:
It struck me as it might be convenient if 'shift' could take an optional
arrayname as an argument. Would that be possible or would it cause some
incompatibility?
The biggest issue here is how you specify the arguments.
Shift already takes one optional argument: the number of items to shift
from the argv list. Adding a second optional argument leads to a quagmire.
Do you put the optional list name first, or do you put the optional number
first? If only one argument is given, is it a list name, or is it a number?
(OK, granted, in bash it is not permitted to create an array whose name
is strictly digits, but still.)
If you wish to write an array-shifting builtin, it would be better to give
it a new name. Don't blindly copy perl. It's not always the best example
of language design.