Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #15817

Re: [PATCH] efficient [[ -v 1 ]] [was: Should [[ -v 1 ]] be supported?]

From Chet Ramey <chet.ramey@case.edu>
Newsgroups gnu.bash.bug
Subject Re: [PATCH] efficient [[ -v 1 ]] [was: Should [[ -v 1 ]] be supported?]
Date 2020-01-18 19:23 -0500
Organization ITS, Case Western Reserve University
Message-ID <mailman.2941.1579393388.1979.bug-bash@gnu.org> (permalink)
References (1 earlier) <5dac2cf2-2fac-0fd1-058f-6a84a3271738@case.edu> <abd86dbc-f6e2-62bd-e9dc-f959e2dbff9f@inlv.org> <f19a07b9-e3a8-96f4-4fd9-98358dd2ccc2@case.edu> <858f35a5-50d1-0393-833b-7625f50979ac@inlv.org> <83f3f9ed-29e9-1677-4917-7831c66af0e0@case.edu>

Show all headers | View raw


On 1/18/20 2:48 PM, Martijn Dekker wrote:
> Op 29-12-18 om 01:19 schreef Chet Ramey:
>> On 12/27/18 3:11 PM, Martijn Dekker wrote:
>>
>>> Consistency might be a better argument. If [[ -v foo ]] is equivalent to [[
>>> -n ${foo+s} ]] for variables (with the advantage that you don't need 'eval'
>>> to handle arbitrary values of 'foo'), then perhaps it's not unreasonable to
>>> expect [[ -v 1 ]] to be equivalent to [[ -n ${1+s} ]].
>>
>> The completeness argument is more rigorous, and there's a case to add this
>> in a future version of bash. He didn't make that argument, though.
> 
> I noticed some deactivated code tagged bash-5.1 with my name on it. Cool. :)
> 
> Isn't the way below much more efficient, though? There's no need to
> retrieve and discard the value of a positional parameter -- we can just
> compare the number to $#, i.e. number_of_args(). Any number between 0 and
> $#, inclusive, represents a set positional parameter by definition.

Thanks; that's clever.

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
		 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

Re: [PATCH] efficient [[ -v 1 ]] [was: Should [[ -v 1 ]] be supported?] Chet Ramey <chet.ramey@case.edu> - 2020-01-18 19:23 -0500

csiph-web