Ir para conteúdo

isPar(Number)


caotic

Posts Recomendados

Estava sem o que fazer e resolvi fazer esta função.

Eu não sei para que você vai usar esta função em opentibia mais....

Resolvi fazer duas versões da função.

 

Esta função e beem mais pesado mais e funcional.

function isPar(number)
local x = {1, 3, 5, 7 , 9}
local number = tostring(number)
local a = string.sub(number, #number)
local a = tonumber(a)
for i =1, #x do
if a == x[i] then
return false
end
end
return true
end

 

Bem mais simples e também e funcional.

function isPar(number)
if number % 2 == 0 then
return true
end
return false
end

 

 

if isPar(322343) then
print("par")
else
print("impar")
end

 

No exemplo acima retornaria impar porque 322343 e "impar".

Editado por caotic
Link para o comentário
Compartilhar em outros sites

"Par" em inglês é "Even", "Ímpar" é "Odd". (-:

Fica estranho misturar inglês com português no nome da função, "isEven" faz mais sentido.

 

Outra coisa, não use "local" em funções que são para serem usadas em bibliotecas! Como a biblioteca vai ser usada por vários outros códigos, a função precisa ser global!

 

E aqui vai minha versão:

function isEven(value)
return value % 2 == 0
end

function isOdd(value)
return value % 2 ~= 0
end

Editado por Skyen
Link para o comentário
Compartilhar em outros sites

"Par" em inglês é "Even", "Ímpar" é "Odd". (-:

Fica estranho misturar inglês com português no nome da função, "isEven" faz mais sentido.

 

Outra coisa, não use "local" em funções que são para serem usadas em bibliotecas! Como a biblioteca vai ser usada por vários outros códigos, a função precisa ser global!

 

E aqui vai minha versão:

function isEven(value)
return value % 2 == 0
end

function isOdd(value)
return value % 2 ~= 0
end

 

Entendo.

Não vejo a necessidade ser global mais enfim.

Eu só coloquei a função em português para melhor entendimento.

Link para o comentário
Compartilhar em outros sites

"Par" em inglês é "Even", "Ímpar" é "Odd". (-:

Fica estranho misturar inglês com português no nome da função, "isEven" faz mais sentido.

 

Outra coisa, não use "local" em funções que são para serem usadas em bibliotecas! Como a biblioteca vai ser usada por vários outros códigos, a função precisa ser global!

 

E aqui vai minha versão:

function isEven(value)
return value % 2 == 0
end

function isOdd(value)
return value % 2 ~= 0
end

 

Entendo.

Não vejo a necessidade ser global mais enfim.

Eu só coloquei a função em português para melhor entendimento.

 

Se a função for usada só em um script, tudo bem ser local, mas se for uma função feita para ser usada em uma biblioteca, ela precisa ser global, ou então nada terá acesso à ela.

Link para o comentário
Compartilhar em outros sites

"Par" em inglês é "Even", "Ímpar" é "Odd". (-:

Fica estranho misturar inglês com português no nome da função, "isEven" faz mais sentido.

 

Outra coisa, não use "local" em funções que são para serem usadas em bibliotecas! Como a biblioteca vai ser usada por vários outros códigos, a função precisa ser global!

 

E aqui vai minha versão:

function isEven(value)
return value % 2 == 0
end

function isOdd(value)
return value % 2 ~= 0
end

 

Entendo.

Não vejo a necessidade ser global mais enfim.

Eu só coloquei a função em português para melhor entendimento.

 

Se a função for usada só em um script, tudo bem ser local, mas se for uma função feita para ser usada em uma biblioteca, ela precisa ser global, ou então nada terá acesso à ela.

 

Eheuhaueeh.

Pensei que estava falando das variáveis locais.

 

E verdade

Se a função for usado em uma biblioteca ela não poderia ser acessado por causa do local.

Eu deveria ter retirado o local das funções.

 

Ja concertei

Editado por caotic
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...