ruby参数错误:参数数量错误

时间:2013-10-04 09:39:08

标签: 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行

1 个答案:

答案 0 :(得分:3)

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

c1 = s.pop
c2 = s.pop