原文:Lua中的點、冒號與self

Lua中的點 冒號與self,它們之間的關系主要體現在函數的定義與調用上,Lua在函數定義時可以用點也可以用冒號,如: 用冒號定義的函數有個特別的地方是它內部有個self表示自身可以直接訪問 雖然self並不是Lua的關鍵字,他它確實是可以訪問的 ,如同C C 的this: 輸出: 可見self即myclass本身。如果上面不是冒號而是點則self不可用的會報錯,因為self是個nil值。 點定義 ...

2017-08-15 23:04 0 1642 推薦指數:

查看詳情

lua冒號的區別

lua的語法很簡單,太簡單了,所以lua就復雜了 兩個與一個有什么區別呢? 一個用來定義和取得一個變量,這個變量可能是個函數 兩個用來定義和調用一個函數,兩個會自動傳入“調用者”這個table自身 先看簡單的: c = {a = 1, b = 2} function c ...

Sun Jun 11 06:48:00 CST 2017 0 8090
luaself的用法

鏈接:https://www.jianshu.com/p/753b06ca07b0 --冒號:在定義時省略了self --點號:在定義時不省略self Class = {} Class.__index = Class function ...

Wed Feb 26 08:53:00 CST 2020 0 1463
理解lua . : self

前言 在LUA,經常可以看到:. self,如果你學習過Java或C#語言,可以這樣理解 .對於c#和java的靜態方法 :相當於是實例方法 今天在CSDN上看到一篇博客寫的很清楚,轉載過來 原文出處:http://blog.csdn.net/wangbin_jxust ...

Thu Aug 14 23:59:00 CST 2014 0 2422
關於lua冒號(":")和點號(".")的區別

一、定義方法的區別 1、冒號定義方法,默認會接受self參數;而點號定義的時候,默認不會接受self參數 例: (1)冒號定義 function class:test()   --這里會接受self參數,比如   print(self.a,self.b)   在這里self ...

Sat Jul 02 02:46:00 CST 2016 1 8140
Lua-面向對象函數使用時冒號(:)和(.)的區別

先來看一段簡單的代碼: 輸出結果為: 由此可見,定義:在Eat(冒號函數)內部有一個參數self,在Sleep(點函數)內部沒有參數self;調用:用冒號(:)調用函數時,會默認傳一個值(調用者自身)作為第一個參數;用(.)調用函數時,則沒 ...

Sat Aug 20 06:08:00 CST 2016 0 1787
lua拾遺之lua冒號(:)與點號(.)的區別和來由

參考資料 1.https://my.oschina.net/lonewolf/blog/173065 其結論為: 1、定義的時候:Class:test()與 Class.test(self)是等價的,點號(.)要達到冒號(:)的效果要加一個self參數到第一個參數; 2、調用 ...

Thu Dec 22 19:19:00 CST 2016 0 2015
luaself

luaself指的是當前方法所屬的table。一般來講self可以理解為當前對象,但是在創建一個“類”的實例的時候,它代表的確是基類,而非當前對象。 下面上代碼: ...

Thu Dec 05 21:46:00 CST 2013 1 2482
luaself.__index = self是什么意思?

example1 Account模擬一個對象,new方法類似於實例化一個對象,conf可存放一些初始值作用等同於conf是Account的子類。 解釋:Account這個table有一個屬性balance,通過new函數實例化一個類繼承於Account。在lua類,父類都是 ...

Fri Mar 17 04:23:00 CST 2017 0 7737
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM