中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

文案交流網(wǎng)站免費(fèi)網(wǎng)站大全下載

文案交流網(wǎng)站,免費(fèi)網(wǎng)站大全下載,學(xué)做網(wǎng)站先學(xué)什么,西安網(wǎng)站建設(shè)優(yōu)化全局與非全局 在lua語(yǔ)言當(dāng)中沒(méi)有被local表示的是全局變量 反之則是本地變量(僅僅作用在某個(gè)文件,函數(shù),或者代碼塊) 下面是實(shí)例代碼和運(yùn)行結(jié)果 --hello.luaA 10;--這樣就是全局變量,然后這個(gè)編譯器如果是大寫(xiě)就是默認(rèn)的全局變量 local b 3;--這樣就是局部變量--reference.…

全局與非全局

在lua語(yǔ)言當(dāng)中沒(méi)有被local表示的是全局變量

反之則是本地變量(僅僅作用在某個(gè)文件,函數(shù),或者代碼塊)

下面是實(shí)例代碼和運(yùn)行結(jié)果

--hello.luaA = 10;--這樣就是全局變量,然后這個(gè)編譯器如果是大寫(xiě)就是默認(rèn)的全局變量
local b = 3;--這樣就是局部變量--reference.luarequire('hello')--這里面的require就相當(dāng)于Python里面的import或者c++當(dāng)中的include
print(A);--這個(gè)按照原來(lái)的腳本打印10
print(b);--這樣會(huì)打印nil

變量類(lèi)型

Lua當(dāng)中沒(méi)有像我們以前學(xué)過(guò)的眾多語(yǔ)言清晰可見(jiàn),在Lua當(dāng)中任何的數(shù)值,比如int,long ing,short int 在Lua當(dāng)中都是用number這個(gè)變量來(lái)表示的

然后string都是差不多的,具體的實(shí)現(xiàn)請(qǐng)參考官方文檔

最后就是table類(lèi)型我個(gè)人認(rèn)為是最具特色的類(lèi)型,放到后面詳細(xì)講解

下面是代碼演示:

A = 1.131
B = 200
C = 1.251254121
print(type(A),type(B),type(C))

字符串類(lèi)型

字符串類(lèi)型可以通過(guò)許多種方式來(lái)定義,下面是代碼實(shí)例:

local a = 'string1'
local b = "string2"
local c = [[
yes \n dsadq
sdaw
]]print(a,b,c)

在Lua當(dāng)中字符串一旦創(chuàng)建就不可變,如何理解:

str有一個(gè)對(duì)象是"Hello"

過(guò)了幾個(gè)星期,str玩膩了又想找"World",這個(gè)時(shí)候str就會(huì)和"World"在一起而"Hello"一個(gè)人站在原地,所以沒(méi)有變

local str = "Hello"
str = str .. " World"  -- 拼接字符串,生成一個(gè)新的字符串
print(str)  -- 輸出: Hello World

此外可以通過(guò)"#"的方式查看字符串的長(zhǎng)度

S = "456"
print(#S) --返回的值是3

最后就是string.的一些相關(guān)函數(shù),其實(shí)和其他的語(yǔ)言差不多這里就不多講解啦

函數(shù)

1.?函數(shù)的定義

Lua 中的函數(shù)可以通過(guò)以下方式定義:

  • 普通函數(shù):使用?function?關(guān)鍵字。

  • 匿名函數(shù):使用?function?關(guān)鍵字但不指定函數(shù)名。

  • 表方法:將函數(shù)作為表的成員。

-- 普通函數(shù)
function add(a, b)return a + b
end-- 匿名函數(shù)
local multiply = function(a, b)return a * b
end-- 表方法
local mathUtils = {add = add,multiply = multiply
}

2.?函數(shù)的調(diào)用

  • 函數(shù)可以通過(guò)函數(shù)名加括號(hào)的方式調(diào)用。

  • 如果函數(shù)沒(méi)有參數(shù),也必須加上括號(hào)(除非是單參數(shù)且為字符串或表)。

local result1 = add(1, 2)  -- 調(diào)用普通函數(shù)
local result2 = multiply(3, 4)  -- 調(diào)用匿名函數(shù)
local result3 = mathUtils.add(5, 6)  -- 調(diào)用表方法

3.?函數(shù)的參數(shù)

  • Lua 函數(shù)的參數(shù)是按值傳遞的(對(duì)于表、函數(shù)等引用類(lèi)型,傳遞的是引用)。

  • Lua 函數(shù)支持可變參數(shù)(Varargs),使用?...?表示。

function sum(...)local result = 0for i, v in ipairs({...}) doresult = result + vendreturn result
endprint(sum(1, 2, 3, 4))  -- 輸出: 10

4.?函數(shù)的返回值

  • Lua 函數(shù)可以返回多個(gè)值。

  • 如果函數(shù)沒(méi)有顯式返回值,默認(rèn)返回?nil。

function swap(a, b)return b, a
endlocal x, y = swap(1, 2)
print(x, y)  -- 輸出: 2 1

5.?匿名函數(shù)與高階函數(shù)

  • Lua 支持匿名函數(shù)(Lambda 表達(dá)式),可以作為參數(shù)傳遞給其他函數(shù)。

  • 高階函數(shù)是指接受函數(shù)作為參數(shù)或返回函數(shù)的函數(shù)。

-- 高階函數(shù)
function apply(func, a, b)return func(a, b)
end-- 匿名函數(shù)作為參數(shù)
local result = apply(function(a, b) return a + b end, 3, 4)
print(result)  -- 輸出: 7

6.?閉包(Closure)個(gè)人認(rèn)為非常優(yōu)雅

  • Lua 支持閉包,即函數(shù)可以捕獲并訪問(wèn)其外部作用域的變量。

  • 閉包在回調(diào)函數(shù)、延遲計(jì)算等場(chǎng)景中非常有用。

function createCounter()local count = 0return function()count = count + 1return countend
endlocal counter = createCounter()
print(counter())  -- 輸出: 1
print(counter())  -- 輸出: 2

7.?函數(shù)與表

  • 函數(shù)可以作為表的成員(方法)。

  • Lua 提供了一種特殊的語(yǔ)法糖?:,用于定義和調(diào)用表方法(自動(dòng)傳遞?self?參數(shù)),在顯示項(xiàng)目中經(jīng)常用到,我感覺(jué)和類(lèi)很像但是不確定,具體的要之后參與實(shí)際項(xiàng)目實(shí)踐看看。

示例
local person = {name = "Alice",greet = function(self)print("Hello, " .. self.name)end
}-- 使用 : 語(yǔ)法糖
function person:shout()print(self.name .. " is shouting!")
endperson:greet()  -- 輸出: Hello, Alice
person:shout()  -- 輸出: Alice is shouting!

表分為兩種,一種全局表,和一種常規(guī)表

先說(shuō)常規(guī)的表,就是自己定義的表,在表中可以存放所有的數(shù)據(jù)結(jié)構(gòu),函數(shù)也可以上面也有提

示例代碼:

T = {1,'231515',function (a,b)return a,b;
end}

再就是表的一些相關(guān)函數(shù),和其他語(yǔ)言中的鏈表差不多:

table.insert(T, "d")--默認(rèn)是在最后一個(gè)位置插入的
print(T[4])table.insert(T, 2, "Insert in to")--這個(gè)是指定區(qū)域插入如果插入就是將后面所有的都向后移動(dòng)一個(gè)
print(T[2])table.remove(T, 2) --移除table表中的一個(gè)東西
print(T[2])
--很明顯這個(gè)時(shí)候就不是上面那個(gè)了local removed = table.remove(T, 1)--table還可以保存刪除后的數(shù)據(jù)
print(removed)

全局表就是_G,這個(gè)表的作用就是將所有的全局變量都放在這個(gè)里面,所以我們就可以表里面調(diào)用表

U = {a = 1,b = 2,c = '3',e = function ()print("im e")end,['sda.,;'] = '鬼東西'
}print(U.e())--這里注意了,如果是要調(diào)用table表中的函數(shù)的話就需要添加()才行,不然就是返回它的地址了--除此之外還可以自行添加
U["abc"] = 123
print(U['abc'])--這樣是可行的--如果我們定義變量的東西不是字母而是非常詭異的東西,那么我們就可以用[]來(lái)包括進(jìn)去print(U['sda.,;']) --展示好像不能打印UTF-8,奇怪-- _G所有的全局變量都包含在_G里面
print(_G.A)
-- 同理可得,由于我們沒(méi)有給上面的U這個(gè)table變成全局變量,所以他也包含在_G里面
print(_G.U['sda.,;'])

循環(huán)和條件語(yǔ)句

if語(yǔ)句和python的更加接近一點(diǎn)

local a = 10
local b = 20
if a > b thenprint("yes")
elseif a == b  thenprint("no")
elseprint(a)
end

while循環(huán):


local i = 0
while true doi = i + 1 -- 注意在Lua里面沒(méi)有i+=1這種操作if i == 6 thenbreakendprint(i)
end--結(jié)果
1
2
3
4
5

for循環(huán):

for i = 1, 10, 1 doprint(i)
end

還有值得注意的一點(diǎn)是在Lua當(dāng)中0表示的是True

if 0 thenprint('yes')
elseprint('false')
end

總結(jié)

到這里八成的Lua代碼都可以寫(xiě)了,由于這個(gè)學(xué)期剛剛在UE項(xiàng)目實(shí)習(xí),以后也會(huì)分享unlua項(xiàng)目的經(jīng)驗(yàn)和心得,這次的Lua也是為了后面的做unlua做鋪墊?

http://www.risenshineclean.com/news/22192.html

相關(guān)文章:

  • 2015做哪些網(wǎng)站致富什么是互聯(lián)網(wǎng)營(yíng)銷(xiāo)
  • 有阿里空間怎么做網(wǎng)站百度推廣后臺(tái)登錄頁(yè)面
  • 網(wǎng)站廣告位價(jià)格一般多少定制化網(wǎng)站建設(shè)
  • 自己做的網(wǎng)站可以掛在哪里自己怎么做網(wǎng)頁(yè)推廣
  • 網(wǎng)站關(guān)鍵詞詞庫(kù)app拉新推廣
  • 怎么做網(wǎng)站首頁(yè)psd整站優(yōu)化服務(wù)
  • 全球最受歡迎的網(wǎng)站排名今日熱點(diǎn)新聞
  • 哪個(gè)網(wǎng)站可以做思維導(dǎo)圖鳳山網(wǎng)站seo
  • 做美圖 網(wǎng)站有哪些東西沈陽(yáng)優(yōu)化網(wǎng)站公司
  • 蒙城做網(wǎng)站的公司百度手機(jī)助手下載正版
  • 響應(yīng)式網(wǎng)站建設(shè)資訊培訓(xùn)行業(yè)seo整站優(yōu)化
  • 能打開(kāi)各種網(wǎng)站的瀏覽器推薦企業(yè)培訓(xùn)計(jì)劃
  • 天津做網(wǎng)站要多少錢(qián)廣州網(wǎng)站優(yōu)化關(guān)鍵詞排名
  • 做特價(jià)的網(wǎng)站網(wǎng)絡(luò)推廣運(yùn)營(yíng)優(yōu)化
  • 做相冊(cè)哪個(gè)網(wǎng)站好用長(zhǎng)沙本地推廣
  • 凡客優(yōu)品家居官方網(wǎng)站網(wǎng)站模板設(shè)計(jì)
  • 南昌做公司網(wǎng)站哪家好優(yōu)化是什么意思
  • 網(wǎng)站建設(shè)發(fā)展歷程重慶seo研究中心
  • 用什么做flash游戲下載網(wǎng)站優(yōu)化防疫措施
  • 長(zhǎng)沙網(wǎng)站制作收費(fèi)明細(xì)表網(wǎng)站宣傳文案
  • 新手學(xué)做網(wǎng)站要多久pc網(wǎng)站優(yōu)化排名
  • 怎么做網(wǎng)站背景圖片seo網(wǎng)站優(yōu)化工具
  • 寧波品牌網(wǎng)站制作哪家好合肥百度競(jìng)價(jià)推廣代理公司
  • 盤(pán)錦網(wǎng)站建設(shè)價(jià)位軟件開(kāi)發(fā)網(wǎng)站
  • 專(zhuān)門(mén)做外貿(mào)的網(wǎng)站有哪些怎樣在百度上發(fā)布廣告
  • 單位網(wǎng)站建設(shè)申請(qǐng)seo1新地址在哪里
  • 網(wǎng)站上傳文件不大于5M定么做百度收錄怎么查詢(xún)
  • 蛋糕網(wǎng)站內(nèi)容規(guī)劃網(wǎng)絡(luò)營(yíng)銷(xiāo)工程師是做什么的
  • 購(gòu)物網(wǎng)站建設(shè)的可行性?xún)?nèi)部?jī)?yōu)化
  • 天津自貿(mào)區(qū)建設(shè)局網(wǎng)站關(guān)鍵詞出價(jià)計(jì)算公式