Jump to content

[DUVIDA] diferença de com ou sem parenteses


Recommended Posts

eu queria saber qual a diferença de uma linha com ou sem parenteses, geralmente eu uso sem por não saber como usar ou para que usar
darei exemplos:
 

addEventHandler("onPlayerVehicleEnter", root, function(veh, seat)
    if getElementModel(veh) == 540 then -- sem parenteses
    print("oi")
    end
end)

addEventHandler("onPlayerVehicleEnter", root, function(veh, seat)
    if (getElementModel(veh) == 540) then -- com parenteses
    print("oi")
    end
end)

 

Link to comment

Acredito que não faça diferença nenhuma, mas sim quando for quando for usar os operadores OR e AND, acredito que fica mais facil de visualizar as comparações separadamente. Mas em si, a utulização de com ou sem os parenteses, não tenha nenhum efeito prático na leitura do script.

Novamente, não tenho certeza, mas o que eu acredito que seja.

Link to comment
  • Other Languages Moderators

Algumas linguagens de programação obrigam o uso do parênteses mesmo se for condição única, mas não é o caso da linguagem Lua, você pode declarar a condição sem os parênteses.

Você só vai precisar colocar parênteses em condições compostas com AND ou OR em que a ordem de leitura importa. Vou dar um exemplo.

local var1, var2, var3 = 1, 2, 3

if var1 == 4 and (var2 == 2 or var3 == 3) then
--if false   and          (true)          then
--if                false                 then
    print("False.")
elseif var1 == 4 and var2 == 2 or var3 == 3 then
--  if   false   and    true   or   true    then
--  if          false          or   true    then
--  if                  true                then
    print("True.")
end

 

Da mesma forma que funciona em operações matemáticas, o parênteses dá prioridade para o que está dentro dele ser resolvido primeiro.

local var1 = 5*2+2 -- 10+2 = 12
local var2 = 5*(2+2) -- 5*(4) = 20

print(var1, var2)

 

Link to comment
9 hours ago, Lord Henry said:

Algumas linguagens de programação obrigam o uso do parênteses mesmo se for condição única, mas não é o caso da linguagem Lua, você pode declarar a condição sem os parênteses.

Você só vai precisar colocar parênteses em condições compostas com AND ou OR em que a ordem de leitura importa. Vou dar um exemplo.

local var1, var2, var3 = 1, 2, 3

if var1 == 4 and (var2 == 2 or var3 == 3) then
--if false   and          (true)          then
--if                false                 then
    print("False.")
elseif var1 == 4 and var2 == 2 or var3 == 3 then
--  if   false   and    true   or   true    then
--  if          false          or   true    then
--  if                  true                then
    print("True.")
end

 

Da mesma forma que funciona em operações matemáticas, o parênteses dá prioridade para o que está dentro dele ser resolvido primeiro.

local var1 = 5*2+2 -- 10+2 = 12
local var2 = 5*(2+2) -- 5*(4) = 20

print(var1, var2)

 

eu não entendi muito bem, teria como explicar sem valores ou números e sim com situações do próprio mta?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...