Funções erro unexpected keyword

Bom dia, estou fazendo exercicios de um curso online de Ruby na IDE Cloud9
porém quando termino de fazer um função aparece um erro:

a Função é de fatorial, independente se a logica esta certa, estou preocupado com o motivo de erro que não consigo encontrar.

i = 1
def factorial(num)
    while i < n
            num = num * i 
            i++
        end
    end

aparece a seguinte messagem:

Syntax error, unexpected keyword_end (nos dois end)

e no IRB aparece

2.3.0 :017 > i = 1
=> 1
2.3.0 :018 > def factorial(num)
2.3.0 :019?> while i < n
2.3.0 :020?> num = num * i
2.3.0 :021?> i++
2.3.0 :022 > end
2.3.0 :023?> end

SyntaxError: (irb):22: syntax error, unexpected keyword_end
from /usr/local/rvm/rubies/ruby-2.3.0/bin/irb:11:in `’

Sem o end não consigo seguir com o final da função, e todos exemplos que fui apresentado continha essa sintaxe. O que pode ser ?

Olá Lucas, boa tarde.

++ e – não são operadores reservados do Ruby. Use += 1 ou -= 1

Abç

1 curtida