names=sum
visibility=public
kind=defined

--- sum(bits = 16) -> Integer

文字列の bits ビットのチェックサムを計算します。

以下と同じです。

   def sum(bits)
     sum = 0
     each_byte {|c| sum += c }
     return 0 if sum == 0
     sum & ((1 << bits) - 1)
   end

例えば以下のコードで UNIX System V の
[[man:sum(1)]] コマンドと同じ値が得られます。

例:
    sum = 0
    ARGF.each_line do |line|
      sum += line.sum
    end
    sum %= 65536

@param bits    チェックサムのビット数

