我正在学习ruby,一直在通过解决代码战和leetcode上的问题进行练习。我在leetcode中遇到了这个问题,它要求我在给定一个数组和一个值的情况下,通过删除数组中给定值的匹配项来修改数组。很简单!我能够解决它-但是,这件奇怪的事情发生了,我不知道为什么!这是我的密码:
def remove_element(nums, val)
nums.each_with_index do |num, index|
if num == val
nums[index] = nil
end
end
nums.compact!
nums.length
end
您可以在这里看到,在第4行中,我编写了“nums[index]=nil”,这对我来说非常有效。然而,在最长的一段时间里,我试图通过编写“num=nil”来解决这个挑战。对我来说没有意义的是,为什么“nums[index]”有效而不是“num”?他们不是指同一件事吗?
暂无答案!
目前还没有任何答案,快来回答吧!