Tôi tự hỏi tại sao cách tiếp cận đầu tiên để giai thừa không hoạt động (vòng lặp vô hạn) trong ruby trong khi thứ hai thực hiện.Vấn đề đệ quy Ruby
def fac (x)
if x == 0
return 1
else
return (fac (x-1) * x)
end
end
def fact(num)
return 1 if num == 0
fact(num - 1) * num
end