在ruby的`all`方法中,如何改写`return`为长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计263个文字,预计阅读时间需要2分钟。
我正在尝试创建一个代码,当输入搜索名称时,它会搜索并返回其数组位置。以下代码有效(Ned 正确显示值为 1):rubyarray1=['Lucky', 'Ned', 'Dusty']counter=0name='Ned'array1.each do |lookup| if lookup==name counter +=1 endend
array1 = ['Lucky', 'Ned', "Dusty'"] counter = 0 name = 'Ned' array1.each do |lookup| if lookup == name puts counter end counter += 1 end
但是,当我在put计数器的位置使用返回计数器时,代码返回错误.这是错误代码:
unexpected return (repl):7:in `block in initialize' (repl):5:in `each' (repl):5:in `initialize'
我不明白它为什么说初始化.我不明白为什么它适用于put并且不适用于return.有人会解释为什么它在成功打印时无法返回值吗?
因为return是一种逃避方法(定义)的方法.您在任何地方都没有方法定义.您可以为此目的使用break.本文共计263个文字,预计阅读时间需要2分钟。
我正在尝试创建一个代码,当输入搜索名称时,它会搜索并返回其数组位置。以下代码有效(Ned 正确显示值为 1):rubyarray1=['Lucky', 'Ned', 'Dusty']counter=0name='Ned'array1.each do |lookup| if lookup==name counter +=1 endend
array1 = ['Lucky', 'Ned', "Dusty'"] counter = 0 name = 'Ned' array1.each do |lookup| if lookup == name puts counter end counter += 1 end
但是,当我在put计数器的位置使用返回计数器时,代码返回错误.这是错误代码:
unexpected return (repl):7:in `block in initialize' (repl):5:in `each' (repl):5:in `initialize'
我不明白它为什么说初始化.我不明白为什么它适用于put并且不适用于return.有人会解释为什么它在成功打印时无法返回值吗?
因为return是一种逃避方法(定义)的方法.您在任何地方都没有方法定义.您可以为此目的使用break.
