在每个迭代器中用nil覆盖变量

车辙

我简化了以下代码的问题:

def self.foo()
    array = [0,3,5,10,4,6,9,7]

    array.each do |arrayelement|
        name = "Ruts" if arrayelement == 5
        puts name
    end 
end

当数组中的某个元素等于常量时,应在变量中写入一个字符串。数组中的每个元素都是唯一的。问题在于,当arrayelement = 5时,它会将“ Ruts”写入变量名,但是在每个循环的下一次迭代中,它将nil覆盖它。这是该方法的输出。

nil
nil
Ruts
nil
nil
nil
nil
nil

我如何更改代码,以便在下一次迭代中将变量名= Ruts而不是nil?

桑托什

这是因为变量name是块的局部变量,并且每次都会被定义。只需在外面声明即可。

name = nil
array.each do |arrayelement|
  name = "Ruts" if arrayelement == 5
  puts name
end 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

覆盖迭代器类型

来自分类Dev

foreach覆盖消息数据php的每个迭代

来自分类Dev

foreach覆盖消息数据php的每个迭代

来自分类Dev

使用迭代器索引变量

来自分类Dev

在多个文件中用变量名替换字符的每个实例

来自分类Dev

对于迭代器方法中的每个循环

来自分类Dev

复制迭代器中的每个成员

来自分类Dev

保存累加器的每个迭代?

来自分类Dev

对于迭代器方法中的每个循环

来自分类Dev

Ruby-每个迭代器如何工作?

来自分类Dev

计数器 - 无法清除每个迭代

来自分类Dev

for循环和迭代器变量的范围

来自分类Dev

C ++迭代器值转换为变量

来自分类Dev

在Lua中访问迭代器变量

来自分类Dev

在Python For循环中重用迭代器变量

来自分类Dev

Python中的迭代器(循环变量)

来自分类Dev

基于多个变量的迭代计数器

来自分类Dev

目录迭代器值作为变量

来自分类Dev

Python中的迭代器(循环变量)

来自分类Dev

追加forloop迭代器变量值

来自分类Dev

在选择器中覆盖SASS变量

来自分类Dev

我可以轻松地覆盖(STL)迭代器的类别吗?

来自分类Dev

Notepad ++宏,可在VB脚本中用每个分配的变量的值替换变量分配

来自分类Dev

在python中用计数器定义变量名

来自分类Dev

取消注册后,事件管理器中用于游戏的迭代器将失效

来自分类Dev

JS在函数定义中用于循环变量,而在迭代过程中不更改函数

来自分类Dev

g:每个迭代器值未在输入名称中应用

来自分类Dev

jQuery:表选择器的每个函数迭代

来自分类Dev

返回每个第N个值的迭代器