在ruby`each`方法中使用`return`

在ruby`each`方法中使用`return`,ruby,return,Ruby,Return,我试图创建一个代码,在键入搜索名称时进行搜索并返回其数组位置。以下代码正常工作('Ned'正确显示1的值): 但是,当我使用返回计数器代替放置计数器时,代码返回错误。以下是错误代码: unexpected return (repl):7:in `block in initialize' (repl):5:in `each' (repl):5:in `initialize' 我不明白它为什么说初始化。我不明白为什么它与put一起工作,而与return不一起工作。有人能解释一下为什么它在成功打印时

我试图创建一个代码,在键入搜索名称时进行搜索并返回其数组位置。以下代码正常工作(
'Ned'
正确显示
1
的值):

但是,当我使用
返回计数器
代替
放置计数器
时,代码返回错误。以下是错误代码:

unexpected return
(repl):7:in `block in initialize'
(repl):5:in `each'
(repl):5:in `initialize'

我不明白它为什么说
初始化
。我不明白为什么它与
put
一起工作,而与
return
不一起工作。有人能解释一下为什么它在成功打印时不能
返回
值吗?

因为
返回
是一种从方法(定义)中逃脱的方法。您在任何地方都没有方法定义。为此,您可以使用
break

可能重复的
unexpected return
(repl):7:in `block in initialize'
(repl):5:in `each'
(repl):5:in `initialize'