La récursivité

C’est une fonction qui s’appelle elle-même. Dans notre cas, la fonction fact s’appelle jusqu’à ce que le cas fact(0) apparaisse :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
function fact(n)
  if n == 0 then
    return 1
  end

  return n * fact(n-1)
end

print(fact(7))

-- Output:
--  5040