what does := means simply?

bartc bc at freeuk.com
Sun May 20 14:29:08 EDT 2018


On 20/05/2018 16:37, Dennis Lee Bieber wrote:
> On Sun, 20 May 2018 12:38:59 +0100, bartc <bc at freeuk.com> declaimed the

> 	Just for giggles, I decided to write the start of a PPM reader (it only
> handles P6 binary, doesn't have the code for the other styles, and doesn't
> incorporate PPM writer functions but...)
> 
> 	It successfully processed the PPM file my prior writing code
> generated...
> 
> -=-=-=-=-=-
> import struct
> 
> class PPM(object):
...

> -=-=-=-=-=-
> Type: b'P6'	Width: 3	Height: 3	MaxVal: 255
> [(0, 255, 0), (128, 128, 128), (255, 0, 0), (128, 128, 128), (255, 255,
> 255), (128, 128, 128), (0, 0, 255), (128, 128, 128), (0, 0, 0)]

Yes, that appears to work. (But I think it has a bug when there are two 
successive #-comment lines.)

Meanwhile I've given up my campaign to have only line-oriented headers, 
and spent the five minutes needed to allow for free-format headers, and 
actually it's now simpler:

   readln @f,sig
   width  := readnextint(f)  # a 6-line function returning 0 on error
   height := readnextint(f)
   maxval := readnextint(f)  # (for some file types)

However I don't think this works properly when a comment follows (on the 
same line) the last format item, as a well-formed header will have an 
extra white-space character to be skipped. I believe your program might 
have the same problem; it will read the header OK, but not start reading 
the data at the right place.

(A rather poor specification I think which could have been tightened up.)

-- 
bartc




More information about the Python-list mailing list