Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #14675 > unrolled thread
| Started by | L A Walsh <bash@tlinx.org> |
|---|---|
| First post | 2018-09-27 10:56 -0700 |
| Last post | 2018-09-27 10:56 -0700 |
| Articles | 1 — 1 participant |
Back to article view | Back to gnu.bash.bug
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: comment on RFE: 'shift'' [N] ARRAYNAME L A Walsh <bash@tlinx.org> - 2018-09-27 10:56 -0700
| From | L A Walsh <bash@tlinx.org> |
|---|---|
| Date | 2018-09-27 10:56 -0700 |
| Subject | Re: comment on RFE: 'shift'' [N] ARRAYNAME |
| Message-ID | <mailman.1411.1538071020.1284.bug-bash@gnu.org> |
On 9/27/2018 5:35 AM, Greg Wooledge wrote:
> 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.
>
---
Why do you think I was blindly copying perl. My function example
was/is named lshift to differentiate it from rshift (if wanted),
but if it was a builtin there'd be no need for a different
name as it works and has compatible syntax with current 'shift'.
shift [N] ARRAYNAME. Without ARRAYNAME, it's is the 'shift [N]' that
is already in bash. There is no quagmire. If the parameter following
'shift'
is a number, it's a count. If it isn't a number, its an ID. Even
though my example and the subject showed the 'count' first, the order
really doesn't matter if you think about it...
Back to top | Article view | gnu.bash.bug
csiph-web