没有使用ruby将nil隐式转换为整数

时间:2017-02-12 20:15:21

标签: ruby null integer

我在执行这段代码时遇到此错误

def write (data)
  if @buffer[@indexwrite] == nil
    @buffer[@indexwrite] = data
    @indexwrite += 1
  else
    raise BufferFullException
  end
end

特别是第二行代码

if @buffer[@indexwrite] == nil

有没有更好的方法来检查数组的元素是否为nil?

1 个答案:

答案 0 :(得分:0)

我会重新格式化你的代码以便这样做:

def write (data)
    raise BufferFullException unless @buffer[@indexwrite].nil?

    @buffer[@indexwrite] = data
    @indexwrite += 1
end