• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

递归方法返回未定义的方法“[]”

ruby 来源:Fralcon 3次浏览

我不知道为什么这个递归方法返回NoMethodError: undefined method '[]' for nil:NilClass递归方法返回未定义的方法“[]”

def test_method(a, b) 
    (a[0] == b[0] ? 0 : 1) + test_method(a[1..-1], b[1..-1]) 
end 

编辑:我在字符串发送的参数进行比较。


===========解决方案如下:

事实上,在同一时间,它会降低空字符串,然后到零。然后导致NoMethodError:undefined方法'[]’为nil:NilClass。

像这样的事情正在发生:

'ss'[1..-1] => 's' 
'ss'[1..-1][1..-1] => "" 
'ss'[1..-1][1..-1][1..-1] => nil 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)