On Mon, Sep 24, 2007 at 08:01:34AM +0000, Pierre Habouzit wrote:
On Mon, Sep 24, 2007 at 07:57:31AM +0000, David Kastrup wrote:
quoted
"David Symonds" [off-list ref] writes:
quoted
On 24/09/2007, David Kastrup [off-list ref] wrote:
quoted
Mike Hommey [off-list ref] writes:
quoted
On Sun, Sep 23, 2007 at 10:42:08PM +0200, David Kastrup wrote:
quoted
-while case $# in 0) break ;; esac
+while test $# != 0
Wouldn't -ne be better ?
Why?
Because -ne does a numeric comparison, != does a string comparison,
and it's a numeric comparison happening, semantically speaking.
I don't see the point in converting $# and 0 into numbers before
comparing them. "!=" is quite more readable, and the old code also
compared the strings.
Fwiw $# already is a number. Hence test $# -ne 0 is definitely a
better test.
$# != 0 would yield sth like (strcmp(sprintf("%d", argc), "0"))
$# -ne 0 would yield sth like (argc != atoi("0")).
Of course this holds only for shell where test/[ is a builtin, which
is the at least the case for zsh, bash, and dash (but not posh).
--
·O· Pierre Habouzit
··O madcoder@debian.org
OOO http://www.madism.org