CA

isPar(Number)

Por caotic, 11 de jan. de 2013 em Mods, funções e outros

tibia
otserv
9
1.5k
caoticC
11 de janeiro de 2013 às 11:21

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 Janeiro 14 por caotic

LuckOakeL
11 de janeiro de 2013 às 11:43

A função é até bem útil, mas o Skymagnum já tinha feito ela de uma maneira mais simplificada.

 

http://www.xtibia.com/forum/topic/194266-getnumbertypen/

OneshotO
11 de janeiro de 2013 às 11:47

Nossa, caotic, você está estudando pog?

Editado Janeiro 11 por Oneshot

caoticC
11 de janeiro de 2013 às 18:50

A função é até bem útil, mas o Skymagnum já tinha feito ela de uma maneira mais simplificada.

 

http://www.xtibia.co...getnumbertypen/

 

Humm não percebi

Sorte que desenvolvi duas versões.

Então foi um pequeno #Fail

SkymagnumS
11 de janeiro de 2013 às 19:07

Nossa, caotic, você está estudando pog?

EJEIIEJIEJEIEIUEHIEHEIUEH


Função legalzinha mais eu já tinha postado ela, e a primeira tá bem pogada mesmo, é boa para eventos de dividir players.

13 de janeiro de 2013 às 21:27

"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

caoticC
14 de janeiro de 2013 às 08:42

"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.

14 de janeiro de 2013 às 11:20

"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.

caoticC
14 de janeiro de 2013 às 11:24

"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 Janeiro 14 por caotic