WHERE (array /=0.0)
  array=1.0/array
ELSEWHERE
  array=1.0
END WHERE

Best I have found Iconish style is


every (!L:=:x):=(if x=0 then 1 else 1.0/x)


dirty/pretty style


#==========================================
procedure writelist(L)
write();every writes(image(!L),",");write()
end

$define where every(temp:=
$define is )[itemp:=1 to *temp]:=(if temp[itemp]
$define same temp[itemp]
$define plug then
$define and else
$define stick
$define elsewhere )


procedure main() L:=list(10) every !L:=?5-2 writelist(L)

        where L is ~=0
                plug 1.0/same
                and stick 1
        elsewhere

        writelist(L)
end


----
Kazimir Majorinc, Zagreb, Croatia

Reply via email to