Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > 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