Lua語言入門小例程

2021-10-08 17:34:15 字數 3930 閱讀 2423

最近要做機械臂**和實物的程式設計,發現很多都是使用lua這門指令碼語言來進行程式設計控制的,因此就學習了一下,並且寫了幾個入門的小例程,在這裡分享一下。

0.軟體安裝

列印直接使用print語句。注釋使用--,多行注釋用兩個中括號,資料型別有string、number、function、boolean等。

print('hello')  --注釋

print('world')

print("hello world!")

--[[

多行注釋

--]]

print("哈哈哈哈")

--資料型別

print(type("hello world!!"))

print(type(10.4 * 3))

print(type(10))

print(type(print))

print(type(type))

print(type(true))

print(type(nil))

print(type(type(x)))

--從鍵盤讀取

io.write("input your name: \n")

name = io.read()

print ("your name is "..name)

2.布林字元和表.lua

lua語言中的變數全部為全域性變數,除非用local宣告才會成為區域性變數。

並且lua語言只把false和nil看做是false。其它都為true,包括數字0,也會看做是true

--lua語言中的變數全部為全域性變數,除非用local宣告才是區域性變數

--lua語言只把false和nil看做是false。其它都為true,0也是true

if 0 then

print(false)

else

print(true)

end--在對乙個數字字串進行算數操作時,lua會嘗試將這個數字字串轉換為乙個數字

print("2" + 6) --8

print("2" + "6") --8

print("2 + 6") --2 + 6

print("2e2" * "6") --1200

--字串長度

print(#"2 + 6") --5

--字串連線

print("a" .. "b") --ab

print(127 .. "158") --127158

--table 表,預設索引從1開始

--table表新增元素時,可以和對應索引一起新增,索引不一定是數字,如果直接新增,table會有預設索引,從1開始,如果先新增2在插入1,預設索引就會到3

a = {}

a["key"] = "value"

print(a["key"], a.key) --當索引為字串是也可以使用後邊這種寫法

a[2] = 10

print(a[2])

table.insert(a, "insert1")

print(a[1])

table.insert(a, "insert3")

print(a[3])

for key, val in pairs(a) do --輸出鍵值對

print(key, val)

end

3.table.lua

lua語言表的操作主要有以下幾個

--基本操作

mytable = {}

mytable[1] = "haha"

mytable = nil --可以釋放表的空間

--table.concat(),輸出乙個列表中的元素連線成的字串

print(table.concat(fruits)) --直接連線

print(table.concat(fruits, ",")) --指定連線字元

print(table.concat(fruits, "", 2, 3)) --指定索引連線

--table.insert和table.remove

--在表的末尾處插入mango

table.insert(fruits, "mango")

print(table.concat(fruits, ","))

--刪除表末尾的mango

table.remove(fruits)

print(table.concat(fruits, ","))

--在索引2處插入mango

table.insert(fruits, 2, "mango")

print(table.concat(fruits, ","))

--刪除索引2處的mango

table.remove(fruits, 2)

print(table.concat(fruits, ","))

--table.sort(),用於表的排序

table.sort(fruits)

print(table.concat(fruits, ","))

4.迴圈.lua

下邊的程式是我抄的例程,但是在我的電腦上執行有問題,goto語句用不了,不知道為什麼

--lua中沒有continue語句,控制迴圈需要使用break和goto指令

for i = 10, 1, -1 do

repeat

if i == 5 then

print("continue code here")

break

endprint(i, "loop code here")

until true

end--goto語句不能用,不知道為啥

for i = 1, 3 do

if i <= 2 then

print(i, "yes continue")

goto=continue

endprint(i, "no continue")

:: continue ::

print(i, 'm end')

end

5.迭代器.lua

pairs可以遍歷表中的所有部分,包括陣列部分和非陣列部分

ipairs只可以遍歷表中的陣列部分

下邊程式裡邊那個無狀態的迭代器還是值得研究一下的,可能得多看幾眼,但是也不難

--泛型for迭代器

--pairs可以遍歷表中的所有部分,包括陣列部分和非陣列部分

--ipairs只可以遍歷表中的陣列部分

t =

t["key"] = "edge"

for k, v in pairs(t) do

print(k, v)

endprint()

for k, v in ipairs(t) do

print(k, v)

endprint()

--無狀態的迭代器:無狀態的迭代器指不保留任何狀態的迭代器,在迴圈中可以利用無狀態迭代器避免建立閉包話費額外的代價

function square(iteratormaxcount, currentnumber)

if currentnumber < iteratormaxcount then

currentnumber = currentnumber + 1

return currentnumber, currentnumber * currentnumber

endendfor i, n in square, 3, 0 do

print(i, n)

end

C 語言入門 Demo 例程

本次通過乙個小例程來回顧和整理 c 語言入門 系列的知識點,相信你掌握了這個小例程後,你將進入 c 語言的大門,迎接 c 語言程式設計的大千風情。下面獻上例程,本例程已經上傳至 github。開發環境 visual studio 2017 example 鍵入5個學生的名稱 語文成績 數學成績和英語...

Lua指令碼程式設計 Lua語言入門

lua系統由lua鏈結庫 luac編譯器 lua直譯器三部分構成。lua鏈結庫主要由lua.lib和lua.h這兩個檔案組成。lua鏈結庫主要負責對自身進行初始化及關閉操作 裝載指令碼與執行指令碼 提 供可呼叫互動介面。luac編譯器是乙個由命令列驅動的編譯器,其名稱為luac。當我們需要使用lua...

LUA指令碼語言入門

使用例程 1.函式的使用 以下程式演示了如何在lua中使用函式,及區域性變數 例e02.lua functions function pythagorean a,b local c2 a 2 b 2 return sqrt c2 end print pythagorean 3,4 執行結果 5程式說...