我正在尝试编写Ruby递归函数,但我不断得到这个错误。我的代码就是这样的
def myfun(mylist)
nextlist = []
if mylist.size == 1
return (mylist[0])
else
# populate the list "nextlist" with fewer elements as compared to mylist somehow
end
return myfun(nextlist)
end
出现以下错误消息,指向上一个end
语句:
语法错误,意外$ end,期待keyword_end
这里的问题在哪里?
答案 0 :(得分:1)
根据旧的“教人钓鱼”谚语,我会回答更一般的问题“如何找到遗失或多余的end
?”。
为此,我发现使用编辑器的自动缩进功能非常有用。在vim中,我只是按gg = G来缩进整个文件,然后直观地扫描它以找到缩进开始与我期望的不同。
答案 1 :(得分:0)
复制并粘贴代码时,我没有收到语法错误。您的粘贴功能周围是否有其他代码可能缺少end
?