在ruby中,`all`方法后如何正确使用`return`以终止循环?

更新于
2026-10-09 18:43:40
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计261个文字,预计阅读时间需要2分钟。

在ruby中,`all`方法后如何正确使用`return`以终止循环?

我正在尝试创建一个代码,当输入搜索名称时,它会搜索并返回其数组位置。以下代码有效(例如,Ned正确显示值为1):

rubyarray1=['Lucky', 'Ned', 'Dusty']counter=0name='Ned'array1.each do |lookup| if lookup==name counter +=1 endend

我正在尝试创建一个代码,当我键入搜索名称时,它会搜索并返回其数组位置.以下代码有效(‘Ned’正确显示值1):

array1 = ['Lucky', 'Ned', "Dusty'"] counter = 0 name = 'Ned' array1.each do |lookup| if lookup == name puts counter end counter += 1 end

但是,当我在put计数器的位置使用返回计数器时,代码返回错误.这是错误代码:

在ruby中,`all`方法后如何正确使用`return`以终止循环?

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

我不明白它为什么说初始化.我不明白为什么它适用于put并且不适用于return.有人会解释为什么它在成功打印时无法返回值吗?

因为return是一种逃避方法(定义)的方法.您在任何地方都没有方法定义.您可以为此目的使用break.

本文共计261个文字,预计阅读时间需要2分钟。

在ruby中,`all`方法后如何正确使用`return`以终止循环?

我正在尝试创建一个代码,当输入搜索名称时,它会搜索并返回其数组位置。以下代码有效(例如,Ned正确显示值为1):

rubyarray1=['Lucky', 'Ned', 'Dusty']counter=0name='Ned'array1.each do |lookup| if lookup==name counter +=1 endend

我正在尝试创建一个代码,当我键入搜索名称时,它会搜索并返回其数组位置.以下代码有效(‘Ned’正确显示值1):

array1 = ['Lucky', 'Ned', "Dusty'"] counter = 0 name = 'Ned' array1.each do |lookup| if lookup == name puts counter end counter += 1 end

但是,当我在put计数器的位置使用返回计数器时,代码返回错误.这是错误代码:

在ruby中,`all`方法后如何正确使用`return`以终止循环?

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

我不明白它为什么说初始化.我不明白为什么它适用于put并且不适用于return.有人会解释为什么它在成功打印时无法返回值吗?

因为return是一种逃避方法(定义)的方法.您在任何地方都没有方法定义.您可以为此目的使用break.