Ruby 参数错误:参数数量错误

  • 本文关键字:参数 错误 数数 Ruby ruby
  • 更新时间 :
  • 英文 :


大家好,我是 ruby 的新手,我正在尝试实现 alogrithm 以找到最大的使用堆栈的公约数:

这是我的代码:

def d8(a,b)
  return a if (a==b)
  s = Stack.new
  s.push(b)
  s.push(a)
  c1 = s.pop(a)
  c2 = s.pop(b)
  while c1!=c2
    if s.count>0
      c1 = s.pop(c1)
      c2 = s.pop(c2)
    end
    if c1== c2
      return c1
    elsif c1>c2
      c1 = c1-c2
      s.push(c2)
      s.push(c1)
    else
      c2 = c2 -c1
      s.push(c2)
      s.push(c1)
    end
  end
  return nil
end

但是,我不断收到参数错误:参数数量错误(1 表示 0)从第 7 行

Stack#pop方法可能不需要参数,所以它应该是:

c1 = s.pop
c2 = s.pop

最新更新