Ruby 如何使此代码正常工作收到错误消息

Ruby 如何使此代码正常工作收到错误消息,ruby,Ruby,编写一个方法,该方法采用整数nin;它应该会回来 n*(n-1)*(n-2)*……*2*1。假设n>=0。 作为特例,阶乘(0)==1。 难度:简单 def factorial(n) a = 1 store = [] result = n - a while a <= (n-1) j = n * result store << j a += 1 store.each |j| add each j in array

编写一个方法,该方法采用整数
n
in;它应该会回来
n*(n-1)*(n-2)*……*2*1
。假设
n>=0
。 作为特例,
阶乘(0)==1
。 难度:简单

def factorial(n)
  a = 1
  store = []
  result = n - a

  while a <= (n-1) 
    j = n * result
    store << j
    a += 1
    store.each |j|
      add each j in array
    end
  end
def阶乘(n)
a=1
存储=[]
结果=n-a
而这一错误的原因是

syntax error, unexpected tIDENTIFIER, expecting keyword_do or '{' or '(' add each j in array ^ (repl):32: syntax error, unexpected keyword_end, expecting end-of-input
是因为您在
store之后缺少
do
。每个

def factorial(n)
  a = 1
  store = []
  result = n - a

  while a <= (n-1) 
    j = n * result
    store << j
    a += 1
    store.each do |j|
      # Not sure what are you trying to do here
      add each j in array
    end
  end
end
def阶乘(n)
a=1
存储=[]
结果=n-a

而什么是
在数组中添加每个j
?这是真实的陈述吗?不,我不会。。。。。我试图将要铲入数组store=[]的值相加,因为这将给出答案。我只是想知道如何打印出存储内容的总和=[]。谢谢你的帮助。如果可能的话,请继续lol。另外,第一个末端是def,第二个末端是while循环,第三个末端是什么?