Home  >  Article  >  Web Front-end  >  Lua expressions and control structures study notes_node.js

Lua expressions and control structures study notes_node.js

WBOY
WBOYOriginal
2016-05-16 16:26:571538browse

Arithmetic operators

Lua’s arithmetic operators are:

" "(addition):

Copy code The code is as follows:

print(1 2)

"-" (subtraction):

Copy code The code is as follows:

print(2 - 1)

"*" (multiplication):

Copy code The code is as follows:

print(1 * 2)

"/" (division):

Copy code The code is as follows:

print(1 / 2)

"^" (index):

Copy code The code is as follows:

print(27^(-1/3))

"%" (modulo):

Copy code The code is as follows:

print(5 % 3)

Relational operators

Lua provides the following relational operators:

Copy code The code is as follows:

< > <= >= == ~=

The operation results returned by the above operators are all true or false. Strings and numbers cannot be compared

Logical operators

Logical operators include and, or, not

Copy code The code is as follows:

print(1 and 2)
print(nil and 1)
print(false and 2)
print(1 or 2)
print(false or 5)

Logical operators treat false and nil as false and everything else as true.

Local variables and scope

Lua creates local variables through the local statement. The scope of local variables is limited to the block in which they are declared.

Copy code The code is as follows:

local a, b = 1, 10
if a < b then
Print(a)
Local a
Print(a)
end
print(a, b)

Using local variables local to save global variables can speed up access to global variables in the current scope. For the acceleration effect, compare the execution time of the Fibonacci sequence calculated below:

Copy code The code is as follows:

function fibonacci(n)
If n < 2 then
         return n
End
Return fibonacci(n - 2) fibonacci(n - 1)
end
io.write(fibonacci(50), "n")

Use local variables local

Copy code The code is as follows:

local function fibonacci(n)
If n < 2 then
         return n
End
Return fibonacci(n - 2) fibonacci(n - 1)
end
io.write(fibonacci(50), "n")

Control structure

if then elseif else end

Copy code The code is as follows:

if num == 1 then
Print(1)
elseif num == 2 then
Print(2)
else
Print("other")
end

Lua does not support switch statements

while

Check the while condition first, if the condition is true, continue to execute the loop body, otherwise end

Copy code The code is as follows:

local i = 1
while a[i] do
Print(a[i])
i = i 1
end

repeat-until

First execute the loop body once, and then judge the condition. If the condition is true, exit the loop body, otherwise continue to execute the loop body. Similar to do-while statements in other languages, the loop body will be executed at least once

Copy code The code is as follows:

local a = 1
repeat
a = a 1
b = a
Print(b)
until b < 10

for loop

The for loop statement has two forms: numeric for (numeric for), generic for (generic for)

Number type for syntax:

Copy code The code is as follows:

for start, end, step do
doing something
end

start is the start value, end is the end value, and step is the step size (optional, default is 1)

Copy code The code is as follows:

for a = 10, 0, -2 do
Print(a)
end

The generic for loop iterates through all values ​​through an iterator function:

Copy code The code is as follows:

tab = { key1 = "val1", key2 = "val2", "val3" }
for k, v in pairs(tab) do
If k == "key2" then
break
End
Print(k .. " - " .. v)
end

The break and return statements are used to break out of the currently executing block.
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn