Maison  >  Questions et réponses  >  le corps du texte

ruby脚本gets方法没有接受输入

执行这个脚本的时候,kee=gets.chomp这行代码没有接受输入,请问是怎么回事?谢谢。

#!/usr/bin/ruby

require 'crypt/blowfish'

unless ARGV[0]
    puts "Usage: ruby encrypt.rb <filename.ext>"
    puts "Example: ruby encrypt.rb secret.stuff"
    exit
end

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 sucess!'
rescue Exception => e
    puts "An error occurred during encryption: \n #{e}"
end
怪我咯怪我咯2710 Il y a quelques jours664

répondre à tous(1)je répondrai

  • PHP中文网

    PHP中文网2017-04-24 09:11:27

    Vous appelez la méthode get dans le noyau. Cette méthode get essaiera de lire le contenu d'ARGV, à moins qu'AGRV ne soit vide, elle essaiera alors de lire le contenu de STDIN.

    http://www.ruby-doc.org/core-2.2.0/Kernel.html#method-i-gets

    Vous devez appeler IO#gets, comme STDIN.gets au lieu de gets.

    http://www.ruby-doc.org/core-2.2.0/IO.html#method-i-gets

    répondre
    0
  • Annulerrépondre