2

文字列があり、「123 | ABC | test | 12345 | FF」と言って、各文字のASCII値をxorし、結果を16進数で出力したいとします。

最も簡単な方法は何ですか?

4

2 に答える 2

4

それを見つけた...

lrc = 0
input.each_byte do | c |
    lrc ^= c
end
hexVal = lrc.to_s(16)
于 2008-12-08T12:03:12.163 に答える
4

Ruby 1.8.7 または 1.9.1 の場合:

input.bytes.inject { |a,b| a ^ b }.to_s(16)
于 2008-12-09T02:06:45.783 に答える