http://qs1969.pair.com?node_id=587746


in reply to Precedence for Idiots

Two comments:

If, like me, you don't come from a comp-sci background, then precedence-awareness of operators probably only goes as far as knowing that 3*2+1 means (3*2)+1, and that if you want 3*(2+1), then you'd better damn well say so.

I think putting the addition first (to the left) in your example illustrates the concept of precedence awareness better. Like: 1+3*2 is actually 1+(3*2) and not (1+3)*2.

Second comment: A short paragraph about the C-istic awkward precedence of some operators might be helpful to beginners without a C background. $x == $y & $z means ($x == $y) & $z. Enabling warnings catches this btw.

Replies are listed 'Best First'.
Re^2: Precedence for Idiots
by Melly (Chaplain) on Dec 04, 2006 at 23:18 UTC

    Good points - I'll edit the article to include them.

    map{$a=1-$_/10;map{$d=$a;$e=$b=$_/20-2;map{($d,$e)=(2*$d*$e+$a,$e**2 -$d**2+$b);$c=$d**2+$e**2>4?$d=8:_}1..50;print$c}0..59;print$/}0..20
    Tom Melly, pm@tomandlu.co.uk