Ruby未定义的方法`+'代表nil:NilClass

-2 ruby null

我是红宝石的初学者,但我无法摆脱这个问题,当我运行代码时,我得到这些,这一切都运行良好,直到结束:

输入文本:一切顺利,直到

INPUT SUBTEXT:ll

TEXT:这一切都运行良好,直到SUBTEXT:ll

输出:4 15

undefined方法+' for nil:NilClass (repl):18:in初始化'

   puts "\nINPUT TEXT:"
    @text =  gets.chomp

puts "\nINPUT SUBTEXT:" 
    @subtext = gets.chomp

    puts "\nTEXT: " + @text
    puts "SUBTEXT: " + @subtext
    puts "\n"
    i = @text.index (@subtext)

    puts "OUTPUT:"

    while i != -1
            puts  i.to_s + ' '
            i = @text.index @subtext, i+1
    end
Run Code Online (Sandbox Code Playgroud)

Mar*_*eed 5

在Ruby中,String#index当找不到子字符串时不返回-1; 它返回nil.将你的病情while i != -1改为while i.(这是有效的,因为与其他语言不同,Ruby认为值0为真;只有false并且nil为假.)