ruby を使用した単純なエンコード/デコード プログラムに取り組んでいます。エンコーダーは正常に動作しますが、ファイルを正しくデコードできません。適切にデコードされたファイルではなく、常に空白のテキスト ファイルが返されます。コードは次のとおりです。
正常に動作するエンコーダー:
# Get evil idea and encode
print "Enter your diabolical scheme: "
$idea = gets
$encode1 = $idea.reverse
$encode2 = $encode1.capitalize
print $encode2
print"
"
#Save the jibberish to a new file
print "
File encoded. Please enter a name for this idea: "
idea_name = gets.strip
File::open( "idea-" + idea_name + ".txt", "w" ) do |f|
f << $encode2
end
そして、完全に台無しになっているデコーダー:
#Get file to decode
print 'Name of file to decode:'
$name = gets
$file = $name << '.txt'
Dir[$file].each do |file_name|
$idea = read.File($file)
end
# Print each idea out with the words fixed
$decode1 = $idea.to_s()
$decode2 = $decode1.reverse()
$decode3 = $decode2.capitalize()
print $decode3
#Save decoded file to new location
print "
File decoded. Please enter a new name for this idea: "
idea_name = gets.strip
File::open( idea_name + ".txt", "w" ) do |f|
f << $decode3
end
デコーダーにテキストを正しくデコードさせるにはどうすればよいですか?