Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > sum

instance method String#sum

sum(bits = 16) -> Integer[permalink][rdoc]

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

以下と同じです。


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

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



sum = 0
ARGF.each_line do |line|
  sum += line.sum
end
sum %= 65536
[PARAM] bits:
チェックサムのビット数