> Reading my nway through the pickaxe book. Saw this code on page 108:
>   aFile = File.new("data.dat")
>  aFile.each_byte {|ch| putc ch; putc ?.}
> 
> I'm not following what this does, can anyone help me out?
>   putc ?.

?. is the ascii code of "." (46). (This can be used for any character, ?A
is 65, ?\n is 10, etc.)

putc(n) prints the character whose ascii code is n.

So, "putc ?." == "putc 46" == "print '.'"