Ruby スクリプトが入力を待っていないようです。本の最初の章からあなたのファイルを暗号化するスクリプトに従おうとしています: wicked cool ruby ですが、コマンド プロンプトでファイルを実行した後、入力を待ちません。
問題を引き起こしているコード スニペット:
require 'crypt/blowfish'
unless ARGV[0]
puts "Usage: ruby encrypt.rb <filename.ext>"
puts "Example: ruby encrypt.rb secret.stuff"
exit
end
#take in the file name to encrypt as an argument
filename = ARGV[0].chomp
puts filename
c = "Encrypted_#{filename}"
if File.exists?(c)
puts "File already exists."
exit
end
print 'Enter your encryption key (1-56 bytes): '
kee = gets.chomp
begin
blowfish = Crypt::Blowfish.new(kee)
blowfish.encrypt_file(filename.to_str, c)
puts 'Encryption SUCCESS!'
rescue Exception => e
puts "An error occurred during encryption: \n #{e}"
end
ファイルを実行しようとすると、cmd に表示される内容:
C:\Users\me\>ruby new4.rb fileToEnrypt.txt
Enter your encryption key (1-56 bytes): An error occurred during encryption:
can't convert String into Integer
C:\Users\me\>