Hi,
Can anyone explain what is happening?
int x=0;
srand (time(NULL));
for (int i=0;i <100; i++)
{x =rand ()%9;
if ( x !=( 7||8))
printf ("%d ",x);
}
Result of Print
5 8 7 4 8 3 0 7 2 8 2 7 6 7 5 7 8 3 0 0 6 5 0 4 7 6 5 8 5 2 0 2 0 6 4 8 7 3
2 6
2 3 6 2 3 7 2 5 5 6 3 7 2 3 7 4 4 2 5 6 0 4 5 4 4 5 0 5 6 7 5 3 6 3 2 0 5 0
0 5
7 5 8 6 3 2 2 8 3 6 8
Press any key to continue . . .
Question 1 : Why is 1 missing here?
int x=0;
srand (time(NULL));
for (int i=0;i <100; i++)
{x =rand ()%9;
if ( (x != 7) || (x != 8))
printf ("%d ",x);
}
Result of print
3 1 2 8 5 6 2 4 8 2 8 3 1 4 8 6 1 6 7 1 0 4 7 4 0 6 4 8 5 8 2 0 1 1 7 8 2 6
7 7
0 3 1 2 1 6 2 4 1 2 1 8 2 0 2 7 8 8 1 6 0 5 3 1 3 7 3 3 6 5 2 1 2 4 7 3 6 6
3 0
4 2 2 1 4 1 7 1 4 4 3 4 8 0 7 1 2 6 4 7
Press any key to continue . . .
Question 2 : I dont want 7 and 8 to be printed. X is not to be 7 or 8.
But why they are still printed?
What is the correct statement to write?
Thank you
Khoon
|
|
0
|
|
|
|
Reply
|
tskhoon (58)
|
2/27/2010 6:16:14 AM |
|
In article <4b88b869$1_1@news.tm.net.my>, Tadpole <tskhoon@streamyx.com> wrote:
>if ( (x != 7) || (x != 8))
&&
--bks
|
|
0
|
|
|
|
Reply
|
bks (113)
|
2/27/2010 6:20:59 AM
|
|
Thank you Teacher.
I got it
"Bradley K. Sherman" <bks@panix.com> wrote in message
news:hmadkb$9gg$1@reader1.panix.com...
> In article <4b88b869$1_1@news.tm.net.my>, Tadpole <tskhoon@streamyx.com>
> wrote:
>>if ( (x != 7) || (x != 8))
>
> &&
>
> --bks
>
|
|
0
|
|
|
|
Reply
|
tskhoon (58)
|
2/27/2010 6:36:13 AM
|
|
Le 27/02/2010 07:16, Tadpole a �crit :
[...]
> if ( x !=( 7||8))
> Question 1 : Why is 1 missing here?
The value of (7||8) is 1.
--
Richard
|
|
0
|
|
|
|
Reply
|
abulmo (47)
|
2/27/2010 8:03:28 AM
|
|
"Richard Delorme" <abulmo@nospam.fr> wrote in message
news:4b88d21a$0$17882$ba4acef3@reader.news.orange.fr...
> Le 27/02/2010 07:16, Tadpole a �crit :
>
> [...]
>> if ( x !=( 7||8))
>
>> Question 1 : Why is 1 missing here?
>
> The value of (7||8) is 1.
>
> --
> Richard
Hi Richard,
Kindly explain why or how (7||8) is 1 ?
I am amazed.
Khoon
|
|
0
|
|
|
|
Reply
|
tskhoon (58)
|
2/27/2010 10:50:56 AM
|
|
Tadpole <tskhoon@streamyx.com> writes:
> "Richard Delorme" <abulmo@nospam.fr> wrote in message
> news:4b88d21a$0$17882$ba4acef3@reader.news.orange.fr...
>> Le 27/02/2010 07:16, Tadpole a �crit :
>>
>> [...]
>>> if ( x !=( 7||8))
>>
>>> Question 1 : Why is 1 missing here?
>>
>> The value of (7||8) is 1.
> Hi Richard,
> Kindly explain why or how (7||8) is 1 ?
> I am amazed.
The specs say so is the brief answer:
6.5.14 Logical OR operator
Syntax
1 logical-OR-expression:
logical-AND-expression
logical-OR-expression || logical-AND-expression
Constraints
2 Each of the operands shall have scalar type.
Semantics
3 The || operator shall yield 1 if either of its operands compare
unequal to 0; otherwise, it yields 0. The result has type int.
The && and || operators also perform left to right evaluation and if
the condition is met by the first operand itself, they will not
evaluate the rest of the operands. So in this case the literal 7 is
unequal to zero (C's value for boolean false), so the expression
yields one.
|
|
0
|
|
|
|
Reply
|
santosh.k83 (3969)
|
2/27/2010 11:07:47 AM
|
|
"Tadpole" <tskhoon@streamyx.com> writes:
> "Richard Delorme" <abulmo@nospam.fr> wrote in message
> news:4b88d21a$0$17882$ba4acef3@reader.news.orange.fr...
>> Le 27/02/2010 07:16, Tadpole a �crit :
>>
>> [...]
>>> if ( x !=( 7||8))
>>
>>> Question 1 : Why is 1 missing here?
>>
>> The value of (7||8) is 1.
>>
>> --
>> Richard
>
> Hi Richard,
> Kindly explain why or how (7||8) is 1 ?
> I am amazed.
>
> Khoon
Any nonzero value in C is treated as true, 7 is nonzero and || operator
yields 1(true) if one of his operands is true. Also remember, that if
first operand is true, then there is no need to evaluate the second.
|
|
0
|
|
|
|
Reply
|
dmz1 (6)
|
2/27/2010 11:12:47 AM
|
|
On 2010-02-27, Tadpole <tskhoon@streamyx.com> wrote:
> Kindly explain why or how (7||8) is 1 ?
All non-zero values are true. (x||y) is 1 if either x is true or y is true.
-s
--
Copyright 2010, all wrongs reversed. Peter Seebach / usenet-nospam@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
|
|
0
|
|
|
|
Reply
|
usenet-nospam (2199)
|
2/27/2010 8:11:24 PM
|
|
In article <slrnhoivec.1a8.usenet-nospam@guild.seebs.net>, Seebs <usenet-nospam@seebs.net> writes:
> On 2010-02-27, Tadpole <tskhoon@streamyx.com> wrote:
>> Kindly explain why or how (7||8) is 1 ?
>
> All non-zero values are true. (x||y) is 1 if either x is true or y is true.
.... or both are true.
(Or perhaps my English is failing me; in that case, sorry.)
lacos
|
|
0
|
|
|
|
Reply
|
lacos (176)
|
2/27/2010 9:27:39 PM
|
|
On 2010-02-27, Ersek, Laszlo <lacos@ludens.elte.hu> wrote:
> In article <slrnhoivec.1a8.usenet-nospam@guild.seebs.net>, Seebs <usenet-nospam@seebs.net> writes:
>> On 2010-02-27, Tadpole <tskhoon@streamyx.com> wrote:
>>> Kindly explain why or how (7||8) is 1 ?
>>
>> All non-zero values are true. (x||y) is 1 if either x is true or y is true.
>
> ... or both are true.
>
> (Or perhaps my English is failing me; in that case, sorry.)
English in general is failing you; the word "or" is ambiguous.
-s
--
Copyright 2010, all wrongs reversed. Peter Seebach / usenet-nospam@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
|
|
0
|
|
|
|
Reply
|
usenet-nospam (2199)
|
2/27/2010 10:12:11 PM
|
|
Tadpole wrote:
)
) "Richard Delorme" <abulmo@nospam.fr> wrote in message
) news:4b88d21a$0$17882$ba4acef3@reader.news.orange.fr...
)> Le 27/02/2010 07:16, Tadpole a ?crit :
)>
)> [...]
)>> if ( x !=( 7||8))
)>
)>> Question 1 : Why is 1 missing here?
)>
)> The value of (7||8) is 1.
)>
)> --
)> Richard
)
) Hi Richard,
) Kindly explain why or how (7||8) is 1 ?
) I am amazed.
What do you expect the value of (7||8) to be ?
SaSW, Willem
--
Disclaimer: I am in no way responsible for any of the statements
made in the above text. For all I know I might be
drugged or something..
No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT
|
|
0
|
|
|
|
Reply
|
willem7123 (117)
|
2/27/2010 10:39:26 PM
|
|
On Sat, 27 Feb 2010 22:39:26 +0000 (UTC), in comp.lang.c, Willem
<willem@snail.stack.nl> wrote:
>Tadpole wrote:
>)
>) "Richard Delorme" <abulmo@nospam.fr> wrote in message
>) news:4b88d21a$0$17882$ba4acef3@reader.news.orange.fr...
>)> Le 27/02/2010 07:16, Tadpole a ?crit :
>)>
>)> [...]
>)>> if ( x !=( 7||8))
>)>
>)>> Question 1 : Why is 1 missing here?
>)>
>)> The value of (7||8) is 1.
>)>
>)> --
>)> Richard
>)
>) Hi Richard,
>) Kindly explain why or how (7||8) is 1 ?
>) I am amazed.
>
>What do you expect the value of (7||8) to be ?
I would not expect it to be 1. I would just expect it to not be zero.
|
|
0
|
|
|
|
Reply
|
nobody79 (33)
|
2/28/2010 3:33:05 AM
|
|
>>)
>>) Hi Richard,
>>) Kindly explain why or how (7||8) is 1 ?
>>) I am amazed.
>>
>>What do you expect the value of (7||8) to be ?
>
> I would not expect it to be 1. I would just expect it to not be zero.
No. The answer is always 1. . I have tested it and it gives me 1 and no
other number.
|
|
0
|
|
|
|
Reply
|
tskhoon (58)
|
2/28/2010 4:43:31 AM
|
|
Tadpole <tskhoon@streamyx.com> writes:
>>>)
>>>) Hi Richard,
>>>) Kindly explain why or how (7||8) is 1 ?
>>>) I am amazed.
>>>
>>>What do you expect the value of (7||8) to be ?
>>
>> I would not expect it to be 1. I would just expect it to not be
>> zero.
>
> No. The answer is always 1. . I have tested it and it gives me 1
> and no other number.
In such matters of minutiae, it's often better to actually check the
standard rather than check the visible behaviour of your particular
compiler.
But in this case, the standard mandates that the || op yield 1 if
either of it's operands is non-zero. I guess it's restricted to 1,
and not any non-zero value, for consistency and aesthetics.
|
|
0
|
|
|
|
Reply
|
santosh.k83 (3969)
|
2/28/2010 6:23:59 AM
|
|
Scott wrote:
) On Sat, 27 Feb 2010 22:39:26 +0000 (UTC), in comp.lang.c, Willem
)<willem@snail.stack.nl> wrote:
)>What do you expect the value of (7||8) to be ?
)
) I would not expect it to be 1. I would just expect it to not be zero.
Perhaps you should switch to Perl. There, (a||b) is defined as (a?a:b)
(But, obviously, with a only being evaluated once).
And, incidentally, (a&&b) is defined as (a?b:a).
In C, the result of any boolean operator is always 0 or 1.
Dunno why, perhaps because existing compilers did it that way and
code existed that used the result of the boolean for arithmetics.
SaSW, Willem
--
Disclaimer: I am in no way responsible for any of the statements
made in the above text. For all I know I might be
drugged or something..
No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT
|
|
0
|
|
|
|
Reply
|
willem7123 (117)
|
2/28/2010 10:08:27 AM
|
|
Willem <willem@snail.stack.nl> writes:
> Scott wrote:
> ) On Sat, 27 Feb 2010 22:39:26 +0000 (UTC), in comp.lang.c, Willem
> )<willem@snail.stack.nl> wrote:
> )>What do you expect the value of (7||8) to be ?
> )
> ) I would not expect it to be 1. I would just expect it to not be zero.
>
> Perhaps you should switch to Perl. There, (a||b) is defined as (a?a:b)
> (But, obviously, with a only being evaluated once).
> And, incidentally, (a&&b) is defined as (a?b:a).
>
> In C, the result of any boolean operator is always 0 or 1.
> Dunno why, perhaps because existing compilers did it that way and
> code existed that used the result of the boolean for arithmetics.
Spectrum Basic did that well before Perl IIRC. Useful for writing
things like:
PRINT a$ OR 'nothing'
--
Online waterways route planner | http://canalplan.eu
Plan trips, see photos, check facilities | http://canalplan.org.uk
|
|
0
|
|
|
|
Reply
|
3-nospam (285)
|
2/28/2010 10:41:04 AM
|
|
On 2010-02-28, Nick <3-nospam@temporary-address.org.uk> wrote:
> Spectrum Basic did that well before Perl IIRC. Useful for writing
> things like:
> PRINT a$ OR 'nothing'
Lisp!
(or a1 a2 a3 ... an)
The arguments ai are evaluated in order, stopping at the first one which
yields true (a value other than nil), in which case that value is the
result. Otherwise, the result is nil.
This feature is described in the Lisp 1.5 manual whose preface is dated
August 17, 1962. (Appendix A, Functions and Constants in the LISP
System).
|
|
0
|
|
|
|
Reply
|
kkylheku (2499)
|
2/28/2010 1:14:17 PM
|
|
On Sun, 28 Feb 2010 10:08:27 +0000 (UTC), in comp.lang.c, Willem
<willem@snail.stack.nl> wrote:
>Scott wrote:
>) On Sat, 27 Feb 2010 22:39:26 +0000 (UTC), in comp.lang.c, Willem
>)<willem@snail.stack.nl> wrote:
>)>What do you expect the value of (7||8) to be ?
>)
>) I would not expect it to be 1. I would just expect it to not be zero.
>
>Perhaps you should switch to Perl.
Eh. No. Just...no.
>In C, the result of any boolean operator is always 0 or 1.
>Dunno why, perhaps because existing compilers did it that way and
>code existed that used the result of the boolean for arithmetics.
Yes, yet writing C according to my stated assumption above still yeilds
semantically correct code. And it keeps me in the right frame of mind,
without having to stop to think about it, to handle languages where
"true==1" isn't necessarily so, ultimately producing fewer bugs.
|
|
0
|
|
|
|
Reply
|
nobody79 (33)
|
2/28/2010 4:47:18 PM
|
|
On 2010-02-28, Willem <willem@snail.stack.nl> wrote:
> Perhaps you should switch to Perl. There, (a||b) is defined as (a?a:b)
> (But, obviously, with a only being evaluated once).
> And, incidentally, (a&&b) is defined as (a?b:a).
Ruby is the same way, at least with ||.
> In C, the result of any boolean operator is always 0 or 1.
PHP is the same way, at least with ||.
.... Note that if you happen to be doing two projects, both web based, one in
Ruby and one in PHP, this is a particularly irritating difference.
Although it's an extension, GNU C has a very nice way to express that:
a ?: b
I actually sorta wish that ISO C would pick that one up, it's very expressive.
-s
--
Copyright 2010, all wrongs reversed. Peter Seebach / usenet-nospam@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
|
|
0
|
|
|
|
Reply
|
usenet-nospam (2199)
|
2/28/2010 5:33:17 PM
|
|
Scott wrote:
) On Sun, 28 Feb 2010 10:08:27 +0000 (UTC), in comp.lang.c, Willem
)<willem@snail.stack.nl> wrote:
)
)>Scott wrote:
)>) On Sat, 27 Feb 2010 22:39:26 +0000 (UTC), in comp.lang.c, Willem
)>)<willem@snail.stack.nl> wrote:
)>)>What do you expect the value of (7||8) to be ?
)>)
)>) I would not expect it to be 1. I would just expect it to not be zero.
)>
)>Perhaps you should switch to Perl.
)
) Eh. No. Just...no.
)
)>In C, the result of any boolean operator is always 0 or 1.
)>Dunno why, perhaps because existing compilers did it that way and
)>code existed that used the result of the boolean for arithmetics.
)
) Yes, yet writing C according to my stated assumption above still yeilds
) semantically correct code. And it keeps me in the right frame of mind,
) without having to stop to think about it, to handle languages where
) "true==1" isn't necessarily so, ultimately producing fewer bugs.
I was under the mistaken impression that I was talking to the same person
who was amazed that (7||8) yielded 1. You know, the one that my question
was directed to. Of course, I should have checked the name. My apology.
SaSW, Willem
--
Disclaimer: I am in no way responsible for any of the statements
made in the above text. For all I know I might be
drugged or something..
No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT
|
|
0
|
|
|
|
Reply
|
willem7123 (117)
|
2/28/2010 6:01:03 PM
|
|
Scott wrote:
> Yes, yet writing C according to my stated assumption above
> still yeilds semantically correct code.
> And it keeps me in the right frame of mind,
> without having to stop to think about it, to handle languages where
> "true==1" isn't necessarily so, ultimately producing fewer bugs.
In C, it's better to think of it this way: (true != 0 && false == 0)
--
pete
|
|
0
|
|
|
|
Reply
|
pfiland (6613)
|
3/1/2010 3:10:34 AM
|
|
On 2/27/2010 1:16 AM, Tadpole wrote:
[...]
> if ( (x != 7) || (x != 8))
> printf ("%d ",x);
[...]
> Question 2 : I dont want 7 and 8 to be printed. X is not to be 7 or 8.
> But why they are still printed?
Because 8 it not equal to 7, and 7 is not equal to 8. It is not possible
for "x != 7" and "x != 8" to both be false.
> What is the correct statement to write?
if ( (x != 7) && (x != 8) )
To a computer, the concepts of "and" and "or" are not exactly the same as in
spoken human communication.
Consider "show me a list of clients living in New York and New Jersey". If
you tell a computer:
if ( state == state_NY && state == state_NJ )
you're not going to get very many hits, because the state cannot be both New
York _and_ New Jersey at the same time.
The "correct" way to ask is "show me a list of clients whose address is
either New York _or_ New Jersey":
if ( state == state_NY || state == state_NJ )
--
Kenneth Brody
|
|
0
|
|
|
|
Reply
|
kenbrody (1860)
|
3/1/2010 5:10:06 PM
|
|
Kenneth Brody wrote:
> On 2/27/2010 1:16 AM, Tadpole wrote:
> [...]
>> if ( (x != 7) || (x != 8))
>> printf ("%d ",x);
> [...]
>> Question 2 : I dont want 7 and 8 to be printed. X is not to be 7
>> or 8. But why they are still printed?
>
> Because 8 it not equal to 7, and 7 is not equal to 8. It is not
> possible for "x != 7" and "x != 8" to both be false.
>
>> What is the correct statement to write?
>
> if ( (x != 7) && (x != 8) )
>
>
> To a computer, the concepts of "and" and "or" are not exactly the
> same as in spoken human communication.
>
> Consider "show me a list of clients living in New York and New
> Jersey". If you tell a computer:
>
> if ( state == state_NY && state == state_NJ )
>
> you're not going to get very many hits, because the state cannot be
> both New York _and_ New Jersey at the same time.
>
> The "correct" way to ask is "show me a list of clients whose address
> is either New York _or_ New Jersey":
>
> if ( state == state_NY || state == state_NJ )
Which ignores the point made upstream that the English language is ambiguous
WRT the word "or".
Do you want a Coke or a Pepsi?
|
|
0
|
|
|
|
Reply
|
r124c4u1022 (2251)
|
3/1/2010 5:17:58 PM
|
|
Nick <3-nospam@temporary-address.org.uk> wrote:
> Spectrum Basic did that well before Perl IIRC. Useful for writing
> things like:
> PRINT a$ OR 'nothing'
YDNRC. That statement is illegal in Speccy BASIC, and even
PRINT a OR 4
prints 1 regardless of the value of a.
Richard
|
|
0
|
|
|
|
Reply
|
raltbos (821)
|
3/1/2010 9:14:29 PM
|
|
"osmium" <r124c4u102@comcast.net> wrote:
> Kenneth Brody wrote:
>
> > To a computer, the concepts of "and" and "or" are not exactly the
> > same as in spoken human communication.
> Which ignores the point made upstream that the English language is ambiguous
> WRT the word "or".
>
> Do you want a Coke or a Pepsi?
No. I agree with my computer on this.
Richard
|
|
0
|
|
|
|
Reply
|
raltbos (821)
|
3/1/2010 9:35:34 PM
|
|
raltbos@xs4all.nl (Richard Bos) writes:
> Nick <3-nospam@temporary-address.org.uk> wrote:
>
>> Spectrum Basic did that well before Perl IIRC. Useful for writing
>> things like:
>> PRINT a$ OR 'nothing'
>
> YDNRC. That statement is illegal in Speccy BASIC, and even
> PRINT a OR 4
> prints 1 regardless of the value of a.
Hmm. QL Basic then? I certainly remember it from some Sinclair
programming.
--
Online waterways route planner | http://canalplan.eu
Plan trips, see photos, check facilities | http://canalplan.org.uk
|
|
0
|
|
|
|
Reply
|
3-nospam (285)
|
3/1/2010 10:33:38 PM
|
|
On Mar 1, 7:17=A0pm, "osmium" <r124c4u...@comcast.net> wrote:
> Kenneth Brody wrote:
> > On 2/27/2010 1:16 AM, Tadpole wrote:
> > [...]
> >> if ( (x !=3D 7) || (x !=3D 8))
> >> printf ("%d =A0",x);
> > [...]
> >> Question 2 : =A0I dont want 7 and =A08 to be printed. =A0X is not to b=
e 7
> >> or 8. But why they are still printed?
>
> > Because 8 it not equal to 7, and 7 is not equal to 8. =A0It is not
> > possible for "x !=3D 7" and "x !=3D 8" to both be false.
>
> >> What is the correct statement to write?
>
> > if ( (x !=3D 7) && (x !=3D 8) )
>
> > To a computer, the concepts of "and" and "or" are not exactly the
> > same as in spoken human communication.
>
> > Consider "show me a list of clients living in New York and New
> > Jersey". =A0If you tell a computer:
>
> > =A0 =A0 if ( state =3D=3D state_NY && state =3D=3D state_NJ )
>
> > you're not going to get very many hits, because the state cannot be
> > both New York _and_ New Jersey at the same time.
>
> > The "correct" way to ask is "show me a list of clients whose address
> > is either New York _or_ New Jersey":
>
> > =A0 =A0 if ( state =3D=3D state_NY || state =3D=3D state_NJ )
>
> Which ignores the point made upstream that the English language is ambigu=
ous
> WRT the word "or".
No it doesn't, no it isn't, and !(x =3D=3D a || x =3D=3D b) is equivalent t=
o
(x !=3D a && x !=3D b).
> Do you want a Coke or a Pepsi?
Yes. I want a Coke, or a Pepsi. Make haste.
|
|
0
|
|
|
|
Reply
|
electricdelta (73)
|
3/2/2010 11:28:25 AM
|
|
On 3/1/2010 4:35 PM, Richard Bos wrote:
> "osmium"<r124c4u102@comcast.net> wrote:
>
>> Kenneth Brody wrote:
>>
>>> To a computer, the concepts of "and" and "or" are not exactly the
>>> same as in spoken human communication.
>
>> Which ignores the point made upstream that the English language is ambiguous
>> WRT the word "or".
>>
>> Do you want a Coke or a Pepsi?
>
> No. I agree with my computer on this.
Q: Do you know if the baby is going to be a boy or a girl?
A1: Yes.
A2: Well, I would certainly hope it is.
Q: Do you know what time it is?
A: [looks at watch] Yes.
--
Kenneth Brody
|
|
0
|
|
|
|
Reply
|
kenbrody (1860)
|
3/3/2010 7:58:00 PM
|
|
"Tadpole" <tskhoon@streamyx.com> writes:
>>>)
>>>) Hi Richard,
>>>) Kindly explain why or how (7||8) is 1 ?
>>>) I am amazed.
>>>
>>>What do you expect the value of (7||8) to be ?
>>
>> I would not expect it to be 1. I would just expect it to not be zero.
>
> No. The answer is always 1. . I have tested it and it gives me 1 and no
> other number.
Wrong thing to do. Testing proves nothing. Only looking at the
language definition tells what you should expect from a language
contruct. Testing just tells you if a particular implementation
follows that standard in that particular case.
Phil
--
I find the easiest thing to do is to k/f myself and just troll away
-- David Melville on r.a.s.f1
|
|
0
|
|
|
|
Reply
|
thefatphil_demunged (1558)
|
3/5/2010 8:46:12 AM
|
|
Nick <3-nospam@temporary-address.org.uk> wrote:
> raltbos@xs4all.nl (Richard Bos) writes:
>
> > Nick <3-nospam@temporary-address.org.uk> wrote:
> >
> >> Spectrum Basic did that well before Perl IIRC. Useful for writing
> >> things like:
> >> PRINT a$ OR 'nothing'
> >
> > YDNRC. That statement is illegal in Speccy BASIC, and even
> > PRINT a OR 4
> > prints 1 regardless of the value of a.
>
> Hmm. QL Basic then? I certainly remember it from some Sinclair
> programming.
Possibly. The QL manual isn't clear (it only talks of "true" and
"false", never of their numerical values). However, one (not entirely
default) emulator seems to think not.
Richard
|
|
0
|
|
|
|
Reply
|
raltbos (821)
|
3/10/2010 2:14:33 PM
|
|
raltbos@xs4all.nl (Richard Bos) writes:
> Nick <3-nospam@temporary-address.org.uk> wrote:
>
>> raltbos@xs4all.nl (Richard Bos) writes:
>>
>> > Nick <3-nospam@temporary-address.org.uk> wrote:
>> >
>> >> Spectrum Basic did that well before Perl IIRC. Useful for writing
>> >> things like:
>> >> PRINT a$ OR 'nothing'
>> >
>> > YDNRC. That statement is illegal in Speccy BASIC, and even
>> > PRINT a OR 4
>> > prints 1 regardless of the value of a.
>>
>> Hmm. QL Basic then? I certainly remember it from some Sinclair
>> programming.
>
> Possibly. The QL manual isn't clear (it only talks of "true" and
> "false", never of their numerical values). However, one (not entirely
> default) emulator seems to think not.
I'm now baffled. I came across it many years ago, and can't think where
else it might be. It seems to be a Python idiom, but my experience was
a long time before that. I liked it so much I made my own language do
it. Most odd.
--
Online waterways route planner | http://canalplan.eu
Plan trips, see photos, check facilities | http://canalplan.org.uk
|
|
0
|
|
|
|
Reply
|
3-nospam (285)
|
3/10/2010 6:19:27 PM
|
|
Nick <3-nospam@temporary-address.org.uk> writes:
> raltbos@xs4all.nl (Richard Bos) writes:
>> Nick <3-nospam@temporary-address.org.uk> wrote:
>>> raltbos@xs4all.nl (Richard Bos) writes:
>>> > Nick <3-nospam@temporary-address.org.uk> wrote:
>>> >
>>> >> Spectrum Basic did that well before Perl IIRC. Useful for writing
>>> >> things like:
>>> >> PRINT a$ OR 'nothing'
>>> >
>>> > YDNRC. That statement is illegal in Speccy BASIC, and even
>>> > PRINT a OR 4
>>> > prints 1 regardless of the value of a.
>>>
>>> Hmm. QL Basic then? I certainly remember it from some Sinclair
>>> programming.
>>
>> Possibly. The QL manual isn't clear (it only talks of "true" and
>> "false", never of their numerical values). However, one (not entirely
>> default) emulator seems to think not.
>
> I'm now baffled. I came across it many years ago, and can't think where
> else it might be. It seems to be a Python idiom, but my experience was
> a long time before that. I liked it so much I made my own language do
> it. Most odd.
Perl's older than python by quite a way. Is there any chance you're
thinking of that?
Phil
--
I find the easiest thing to do is to k/f myself and just troll away
-- David Melville on r.a.s.f1
|
|
0
|
|
|
|
Reply
|
thefatphil_demunged (1558)
|
3/11/2010 11:53:30 PM
|
|
Phil Carmody <thefatphil_demunged@yahoo.co.uk> writes:
> Nick <3-nospam@temporary-address.org.uk> writes:
>> raltbos@xs4all.nl (Richard Bos) writes:
>>> Nick <3-nospam@temporary-address.org.uk> wrote:
>>>> raltbos@xs4all.nl (Richard Bos) writes:
>>>> > Nick <3-nospam@temporary-address.org.uk> wrote:
>>>> >
>>>> >> Spectrum Basic did that well before Perl IIRC. Useful for writing
>>>> >> things like:
>>>> >> PRINT a$ OR 'nothing'
>>>> >
>>>> > YDNRC. That statement is illegal in Speccy BASIC, and even
>>>> > PRINT a OR 4
>>>> > prints 1 regardless of the value of a.
>>>>
>>>> Hmm. QL Basic then? I certainly remember it from some Sinclair
>>>> programming.
>>>
>>> Possibly. The QL manual isn't clear (it only talks of "true" and
>>> "false", never of their numerical values). However, one (not entirely
>>> default) emulator seems to think not.
>>
>> I'm now baffled. I came across it many years ago, and can't think where
>> else it might be. It seems to be a Python idiom, but my experience was
>> a long time before that. I liked it so much I made my own language do
>> it. Most odd.
>
> Perl's older than python by quite a way. Is there any chance you're
> thinking of that?
Using "||" or "or" for control flow is a common Perl idiom:
open $FILE, '<', "foo.txt" or die "foo.txt: $!\n";
which is equivalent to:
if (not open $FILE, '<', "foo.txt") {
die "foo.txt: $!\n";
}
And Perl got it from Bourne shell programming.
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
|
|
0
|
|
|
|
Reply
|
kst-u (21469)
|
3/12/2010 12:42:37 AM
|
|
On Mar 11, 5:53=A0pm, Phil Carmody <thefatphil_demun...@yahoo.co.uk>
wrote:
> Perl's older than python by quite a way. Is there any chance you're
> thinking of that?
For sufficiently small values of "quite a way" (Perl: 1987, Python:
1989).
Regards,
-=3DDave
|
|
0
|
|
|
|
Reply
|
iddw (679)
|
3/12/2010 3:46:25 PM
|
|
Phil Carmody <thefatphil_demunged@yahoo.co.uk> writes:
> Nick <3-nospam@temporary-address.org.uk> writes:
>> raltbos@xs4all.nl (Richard Bos) writes:
>>> Nick <3-nospam@temporary-address.org.uk> wrote:
>>>> raltbos@xs4all.nl (Richard Bos) writes:
>>>> > Nick <3-nospam@temporary-address.org.uk> wrote:
>>>> >
>>>> >> Spectrum Basic did that well before Perl IIRC. Useful for writing
>>>> >> things like:
>>>> >> PRINT a$ OR 'nothing'
>>>> >
>>>> > YDNRC. That statement is illegal in Speccy BASIC, and even
>>>> > PRINT a OR 4
>>>> > prints 1 regardless of the value of a.
>>>>
>>>> Hmm. QL Basic then? I certainly remember it from some Sinclair
>>>> programming.
>>>
>>> Possibly. The QL manual isn't clear (it only talks of "true" and
>>> "false", never of their numerical values). However, one (not entirely
>>> default) emulator seems to think not.
>>
>> I'm now baffled. I came across it many years ago, and can't think where
>> else it might be. It seems to be a Python idiom, but my experience was
>> a long time before that. I liked it so much I made my own language do
>> it. Most odd.
>
> Perl's older than python by quite a way. Is there any chance you're
> thinking of that?
Definitely pre-Perl. I've never seriously done any Perl - and certainly
not enough to have picked this up. And I certainly didn't invent it.
--
Online waterways route planner | http://canalplan.eu
Plan trips, see photos, check facilities | http://canalplan.org.uk
|
|
0
|
|
|
|
Reply
|
3-nospam (285)
|
3/13/2010 8:52:36 AM
|
|
|
34 Replies
43 Views
(page loaded in 0.298 seconds)
Similiar Articles: What does the COST(%CPU) in explain plan mean? - comp.databases ...Hi all I have an explain plan like below. and I doubt about the COST. How is the COST be calculated? I mean what does that mean? (CPU rate?) S... What is the differences between process group and process session ...The simplest explanation is that a session is typically all the processes connected to a particular controlling terminal. A process group is a set of processes that ... what is depth buffer? - comp.graphics.api.openglwhat is the meaning of depth buffer in opengl programming? Anyone please explain to me. Thanks. ... stepping and slewing - comp.protocols.time.ntp(I'm sure one of the experts will be along shortly with a highly detailed explanation, or just pointing you to the right part of the documentation, however...) grassmannian codebook - comp.soft-sys.matlabStill, there really isn't much explanation on the provided formula in the 802.16e standard text. Some generating parameters are listed as it is, with no justification ... Window Presum FFT - comp.dspI did a quick matlab simulation on this subject, and it is behaving as it's been explained in this article. So basically, let's say, if we have a hamming window of ... Explanation needed for const int "error: variably modified ... at ...Hi, The following code results in the following error with GCC (v.4.3.2): const int eodSize = 8192; char eodContents[eodSize]; error: variab... use of W&Z reg in 8085 - comp.dspWhat is the use of w and z reg in 8085. plz explain with detail. ... estimation parameter using fminsearch - comp.soft-sys.matlab ...Thanks Yi.... >BTW, you may find 'fsolve' is more appropriate for your problem. Would you mean 'fsolve' in maple?..I have no idea, could you please explain a little ... matrix inverse using qr decomposition - comp.soft-sys.matlab ...Can you suggest any good math reference on matrix factorization where the subject is explained in a step by step approach (possibly with examples)? Use of uninitialized value in open - comp.lang.perl.misc ...However, if I declare $buff before the loop (and not in the > loop), I don't get the error. > > Can someone explain what is happening? [...] > foreach (1..2 ... newbie qs: netstat -an explanation with ports - comp.unix.solaris ...Hi all, I am posting this as I need help regarding a netstat -an output I need to analyse in a short time. The question is, what does 3972 and 21826 ... Better explanation of NTP public-key authentication? - comp ...I just spent the last half hour or so looking at the description of the public-key authentication scheme (or is it schemes?) used by version 4 of the ... lcc or gcc ,which better? - comp.compilers.lccIt would be better if you explained what is "a specific MCU". Not everyone understands that. -- jacob navia jacob at jacob point remcomp point fr logiciels ... top: SIZE and RES - comp.sys.hp.hpux4160 1002 152 20 55420K 367M run 18:29 1.23 1.23 java This reports the resident memory used to be considerably larger than SIZE. Can somebody explain what's ... Explanation - Wikipedia, the free encyclopediaAn explanation is a set of statements constructed to describe a set of facts which clarifies the causes, context, and consequences of those facts. This description ... explanation - definition of explanation by the Free Online ...ex·pla·na·tion (k spl-n sh n) n. 1. The act or process of explaining: launched into a detailed explanation. 2. Something that explains: That was supposedly the ... 7/23/2012 6:45:17 PM
|