저는 최근에 루비를 배우기 시작했고 간단한 '암호화'방법을 만들고 있습니다. 원하는 결과를 얻었지만 그 이유를 모르겠습니다.(Ruby) 왜이 기능이 작동합니까?
string = "This is a test"
offset = 5
def encode(string, offset)
coded = ""
string.scan(/./) do |char|
numbers = char.ord
if numbers == 32
numbers = numbers
else
numbers = numbers + offset
end
coded << numbers
end
return coded
end
puts encode(string, offset)
"Ymnx nx f yjxy"원하는 인코딩 된 출력이 표시되지만 그 이유는 알 수 없습니다. 나는 편지가 문자로 되돌아 가도록 지정하지 않았기 때문에 일련의 문자열을 기대하고 있었다. 누군가 일어나는 일을 설명해 주시겠습니까?
문자열 인코딩을 배우는 데 걸리는 시간은 그만한 가치가 있습니다. – zaph
디버거에서 단계별로 실행하거나 매 단계마다'numbers' 및'coded' 값을 출력하십시오. 무슨 일이 일어나는지 보자. 그렇다면 당신이 이해하지 못하는 방법을 찾는 것입니다. –