“未定义的方法`each”表示“datos.txt”:String“

时间:2017-04-17 05:49:44

标签: ruby

class Datos
    def initialize
    end
    def meteDatos

对不起,如果变量是西班牙语,我来自西班牙,对我来说更容易

我希望没有人关心这个......

        print "escribe el nombre: "
        $nombre = gets.chomp
        print "escribe el apellido: "
        $apellido = gets.chomp
        print "escribe el dia de nacimiento: "
        $dia = gets.chomp
        print "escribe el mes de nacimiento: "
        $mes = gets.chomp
        print "escribe los dos primeros digitos de el ano de nacimiento: "
        $ano1 = gets.chomp
        print "escribe los dos ultimos digitos de el ano de nacimiento: "
        $ano2 = gets.chomp
        print "escribe el color favorito: "
        $color = gets.chomp
    end 
end
datos = Datos.new()
datos.meteDatos
archivo = File.new("datos.txt","w+") 
archivo.puts $nombre
archivo.puts $apellido
archivo.puts $dia
archivo.puts $mes
archivo.puts $ano1
archivo.puts $ano2
archivo.puts $color
archivo.close

问题就在这里,我知道它在'.each'但是我正在学习这个  languaje,我不知道发生了什么......

begin
File.open ("datos.txt").each {|i| puts i}
gets()
rescue => err
    puts err.message
end
archivo.close
File.delete("datos.txt")
gets()

1 个答案:

答案 0 :(得分:2)

File.open("datos.txt")之间有一个空格。删除那个空格。

File.open ("datos.txt").each {...}(注意空格)将被解释为File.open(("datos.txt").each {...})