バイナリファイルの読み込み処理

PPMファイルを例に取ると、次の処理で、bytesにバイナリデータが入るみたいです。てか、ruby使ってるのに正規表現使ったのがこれで初めてってのが一体…orz

    f = File.open(imgfile,"rb")
    buf = f.readline # たぶんP6
    buf = f.readline # 2つの数値
    vals = []
    scan(/\d+/){|val|
      vals += [val]
    }
    print vals[0]," ",vals[1],"\n"
    buf = f.readline # 各値の最大値。おそらく255。
    bytes = f.read

test
ISBN: 4756102107