操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    量和數據類型

    局部變量和全局變量

    • 局部變量:使用 local 關鍵字聲明,僅在聲明它們的塊或函數中可見。局部變量的作用域從聲明它們的位置開始,到所在塊結束為止。
    local x=10
    print(x) -- 輸出 10
    • 全局變量:默認情況下,在塊或函數外部聲明的變量是全局變量。在塊或函數內聲明而不使用 local 關鍵字的變量也是全局變量。
    y=20
    print(y) -- 輸出 20

    數據類型

    Lua有八種基本數據類型:

    1. nil:表示一個無效值。變量沒有任何值時,它的類型就是 nil。
    local var=nil
    print(var) -- 輸出 nil
    1. boolean:包含兩個值:truefalse。
    local is_valid=true
    print(is_valid) -- 輸出 true
    1. number:表示雙精度浮點數。在Lua中,所有數字都是浮點數。
    local num=3.14
    print(num) -- 輸出 3.14
    1. string:一串字符??梢允褂脝我柣螂p引號表示字符串。
    local str="Hello, Lua!"print(str) -- 輸出 Hello, Lua!
    1. table:Lua的唯一復合數據結構,用于表示數組、字典、集合等。可以用來構建各種復雜的數據結構。
    local tbl={ key1="value1", key2="value2" }
    print(tbl.key1) -- 輸出 value1
    1. function:可以將函數賦值給變量,并且可以作為參數傳遞或作為返回值。
    local function add(a, b) 
          return a + b
    end
    print(add(2, 3)) -- 輸出 5

    運算符

    算術運算符

    • + 加法:將兩個數相加。
    • - 減法:將第一個數減去第二個數。
    • * 乘法:將兩個數相乘。
    • / 除法:將第一個數除以第二個數。
    • % 取模:返回第一個數除以第二個數的余數。
    • ^ 冪:將第一個數的冪次方設為第二個數。

    關系運算符

    • == 等于:如果兩個值相等,則返回 true。
    • ~= 不等于:如果兩個值不相等,則返回 true。
    • > 大于:如果第一個值大于第二個值,則返回 true
    • < 小于:如果第一個值小于第二個值,則返回 true。
    • >= 大于等于:如果第一個值大于或等于第二個值,則返回 true。
    • <= 小于等于:如果第一個值小于或等于第二個值,則返回 true

    邏輯運算符

    • and 邏輯與:如果兩個操作數都為 true,則返回 true。
    • or 邏輯或:如果兩個操作數中至少有一個為 true,則返回 true。
    • not 邏輯非:返回操作數的相反值。

    控制結構

    if語句

    if 語句用于根據條件執行不同的代碼塊。

    local x=10
    if x > 5 then
        print("x 大于 5")
    elseif x==5 then
        print("x 等于 5")
    else
        print("x 小于 5")
    end

    for循環

    for 循環有兩種形式:數值 for 循環和泛型 for 循環。

    數值for循環

    數值 for 循環用于按順序迭代一系列數字。

    for i=1, 10 do
        print(i)
    end

    泛型for循環

    泛型 for 循環用于迭代表中的元素。

    local tbl={ "a", "b", "c" }
    for index, value in ipairs(tbl) do
        print(index, value)
    end

    while循環

    while 循環用于在條件為 true 時重復執行代碼塊。

    local i=1
    while i <=10 do
        print(i)
        i=i + 1
    end

    repeat-until循環

    repeat-until 循環類似于 while 循環,但它會至少執行一次循環體,然后在條件為 false 時繼續執行。

    lua是一款輕量級,可拓展的并且區分大小寫的腳本語言。

    基本數據類型

    nil --> 無效值,在條件表達式中表示false
    boolean --> false 和 true
    number --> 數字類型
    string --> 單引號或雙引號表示的字符串
    function --> 函數
    userdata --> 用戶自定義數據類型,存儲
    thread --> 獨立線程
    table --> 數組

    table類型

    local tb1={};
    local tb2={"apple", "orange", "peach"}
    for k, v in pairs(tb2) do
        print(k .. ":" .. v)
    end

    function類型

    function factorial(n)
        if n==0 then
            return 1
        else
            return n * factorial(n - 1)
        end
    end
    -- 調用函數
    print(factorial(5)) -- 120

    變量

    -- 三種類型: 全局變量, 局部變量, 表中的域
    
    a=5 -- 全局變量
    local b=4 -- 局部變量
    
    function test()
        c=5 -- 全局變量
        local d=8 -- 局部變量
    end
    
    
    -- 賦值語句
    a, b=10, 20
    a, b, c=1, 2 -- 1, 2, nil
    a, b=1, 2, 3 -- 3會別忽略

    循環

    -- while循環
    -- for循環
    -- repeat..until  重復執行循環,直到條件為真為止
    -- 循環嵌套
    
    -- 循環控制語句 break, goto
    -- repeat ... until 例子
    local a=1
    repeat
        print("a的值為:", a)
        a=a + 1
    until(a > 10)
    
    -- 無限循環
    while(true)
    do
        print("----")
    end

    流程控制

    -- lua中 0 為true
    if(0) then
        print("0為true")
    end
    
    -- 例子1
    if(0) then
        print("----")
    else 
        print("====")
    end
    
    -- 例子2
    
    if(0) then
        print("----")
    elseif(a==10) 
        print("====")
    else
        print("xxxxx")
    end

    lua函數

    -- 函數定義
    -- 全局函數
    function test()
        -- 函數體
    end
    
    -- 局部函數
    local function test2()
        -- 函數體
    end
    
    -- 兩數相加
    function add(num1, num2)
        return num1 + num2;
    end
    
    function myprint(result)
        print(result)
    end
    
    -- 函數作為參數
    function add(num1, num2, myprint)
        local result=num1 + num2;
        myprint(result)
    end
    
    -- 多返回值
    local arr={5,8,3,4,9,7}
    -- 返回最小值和最大值
    function maxMinNum(arr)
        local max=arr[1]
        local min=arr[1]
        for k, v in pairs(arr) do
            if min > arr[k] then
                min=arr[k]
            end
            if max < arr[k] then
                max=arr[k]
            end
        end
        return min, max
    end
    
    min, max=maxMinNum(arr)
    print("min: " .. min)
    print("max: " .. max)

    字符串

    -- 三種表示方式
    s1="lua"
    s2='lua'
    s3=[[lua]]
    
    -- 字符串操作
    string.upper(arg) -- 字符串轉大寫
    string.lower(arg) -- 字符轉小寫
    string.gsub(mianString,findString,replaceString,num) -- 字符串替換, num替換次數,省略則全部替換
    -- 例子: string.gsub("aaaa", "a", "z", 3) -- zzza
    
    string.find(str, substr, [init, [plain]])
    -- 在指定字符串str中搜索substr, 找到了一個匹配的子串,就返回這個子串的起始索引和結束索引,不存在則返回nil。 init為搜索的起始位置, plain: 表示是否以正則表達式匹配
    
    string.reverse(arg) -- 字符串反轉
    
    string.format(...) -- 返回格式化字符串 string.format("the value is: %d", 8)
    
    string.char(arg) 和 string.byte(arg[,int])
    -- char將整形數字轉成字符并拼接,byte轉換字符串為整數值, 默認第一個字符
    string.char(97,98,99,100) -- abcd
    string.byte("ABCD", 2) -- 66
    
    string.len(arg) -- 字符串長度
    
    string.rep(string, n) -- 返回字符串的n個拷貝
    
    .. -- 拼接兩個字符串
    
    string.sub(s, i [, j]) -- s:要截取的字符串, i: 截取的開始位置, j:截取的結束位置
    

    lua數組

    array={"lua", "java"}
    for i=0, 2 do
        print(array[i])
    end
    
    -- 遍歷數組
    for key, value in pairs(array)
    do
        print(key, value)
    end

    lua模塊與包

    -- 定義模塊(module)
    -- 創建module.lua文件,內容如下
    -- module
    -- 定義一個名為module的模塊
    module={}
    module.name="whale" -- 常量
    function module.func1()
        io.write("this is public function!")
    end
    
    -- 局部變量函數, 外部不能直接訪問,只能通過模塊內的public的函數來調用
    local function func2()
        print("this is private function!")
    end
    
    function module.func3()
        func2()
    end
    
    return module
    
    -- 在test.lua文件中引用
    -- require("module")
    -- local m=require("module")
    -- 指定加載module的路徑
    package.path='C:\\Users\\Desktop\\?.lua;'
    require "module"
    print(module.name)
    module.func3()

    lua文件IO

    -- I/0庫用于讀取和處理文件
    -- 簡單模式: 擁有一個當前輸入文件和一個當前輸出文件,并且提供針對這些文件相關的操作
    -- 完全模式: 使用外部的文件句柄來實現
    
    file=io.open(filename [, mode])
    --[[
    mode:
    r: 只讀方式打開,文件必須存在
    w: 打開只寫文件,若文件存在則長度清0,若文件不存在則建立該文件
    a: 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,若文件存在,寫入的數據會追加到文件尾部
    r+: 以可讀可寫方式打開文件,文件必須存在
    w+: 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件
    a+: 與a類似,但此文件可讀可寫
    b: 二進制模式,如果文件是二進制文件,可以加上b
    +:表示對文件可讀可寫
    ]]--
    
    -- 簡單模式
    file=io.open("test.lua", "r")
    io.input(file)
    print(io.read()) -- 輸出文件第一行
    io.close(file) -- 關閉打開的文件
    
    file=io.open("test.lua", "a")
    io.output(file)
    io.write("xxxx")
    io.close(file)
    
    -- 完全模式
    file=io.open("test.lua", "r")
    print(file:read()) -- io.read() --> file:read()
    
    -- 讀取文件
    for line in io.lines("C:\\Users\\Desktop\\books.txt")
    do
        print(line)
    end

    lua錯誤處理

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有