課程目錄:Comprehensive Lua培訓(xùn)
4401 人關(guān)注
(78637/99817)
課程大綱:

  Comprehensive Lua培訓(xùn)

 

 

 

Introduction to Lua
A bit of history
Lua's goals, features and non-goals
Resources of Lua documentation and tutorials
Installing the Lua interpreter
Setting up and using LuaRocks
Basic syntax and semantics
Identifiers
Comments, block comments
Global variables and enforcing of strictness
Local variables
Standalone programs, program arguments
Compilation units, chunks, expressions, semicolons
Data types and data structures
Basic types: nil, boolean, number, string
Object types: function, userdata, thread, table
References/objects vs. basic values
The importance of tables in Lua
Introduction to tables and their versatility
Tables as an associative array
Tables as numeric arrays, sequences
Basic control structures
The if then elseif else end
The while loop
The repeat loop
The simple for loop
Error handling
Return values vs exceptions
Converting a return value to an exception
Converting an exception to a return value
Error levels
Example programs
Polynomial evaluation
Breadth first search
Additional exercises
More about functions
Named arguments
Object-oriented calls
Closures
Currying
Tail calls
Multiple assignment and return
Varargs
Iterators and co-routines
The generic for loop
Stateless vs stateful iterators
Differences between iterators and co-routines
Metatables and metamethods
The set example
The __tostring metamethod
Arithmetic metamethods
The __index, __newindex metamethods
The __len metamethod
Modules and packages
Using modules
Creating modules
Organizing modules into packages
Advanced tables
Tables for queues and stacks
Tables describing graphs
Matrices as tables
Linked lists as tables
String buffers
Metatables through examples
Proxies
Readonly
Memoization
Dynamic programming with memoization
The Fibonacci example
Environments
Relationship between global variables and environments
Free variables
The _ENV table and the _G table
More about modules
Different approaches to creating modules
Modules that change the behavior
Module initialization and arguments
Using environments to implement safe modules
Advanced iterators and co-routines
Producer, consumer, filter
Wrapping co-routines to get iterators
Stateless iterator for linked lists
Contributing to the Ecosystem
Uploading packages to MoonRocks
Functional paradigm in Lua
The map function
The reduce / fold function
Object-oriented Programming
Different approaches to OOP
Different approaches to inheritance
Examples
A walkthrough of the Lua Standard Libraries
Compilation
Compilation
Eval
Relationship with the environment
Binary chunks
Garbage collection
Weak tables
Finalizers, the __gc meta-method
Lua bytecode and virtual machine
Generating bytecode from source code
Reading and analyzing bytecode
Quick tour of the source code of the Lua VM
C modules
Calling C from Lua
Search path and loading of C modules
Calling Lua from C
The Stack
Error handling
Continuations
Handling Lua values and types from C
Arrays
Strings
Userdata
Metatables
Object oriented calls
Light userdata
Memory management
Allocators
GC API
Threads in Lua
Co-routines vs threads
Real multi-threading and Lua states

主站蜘蛛池模板: 高潮插的我好爽再干噢在线欢看| 蜜桃精品免费久久久久影院 | 日韩一级片在线观看| 再深点灬舒服灬太大了动祝视频| 男女一边桶一边摸一边脱视频免费| 成年人性生活免费视频| 亚洲区小说区图片区qvod| 精品久久久无码中文字幕边打电话| 国产成视频在线观看| aaa免费毛片| 无码任你躁久久久久久老妇| 亚洲娇小性xxxx色| 精品哟哟哟国产在线不卡| 国产护士一级毛片高清| 99在线视频精品费观看视| 无码色偷偷亚洲国内自拍| 亚洲啪啪免费视频| 男人黄女人色视频在线观看| 国产中文欧美日韩在线| 你懂的手机在线视频| 天天躁夜夜躁狠狠躁2021| 久久一区二区三区精品| 欧美国产日韩a在线观看| 免费人成在线观看网站| 草久在线观看视频| 国产熟睡乱子伦视频| 99视频精品全部在线观看| 打开腿我想亲亲你下面视频| 久青草影院在线观看国产| 污到下面流水的视频| 午夜不卡av免费| 荫蒂添的好舒服视频| 国产男女插插一级| 91精品国产麻豆福利在线| 小帅男同志chinesecouple| 久久免费视频一区| 欧美乱子伦一区二区三区| 亚洲高清偷拍一区二区三区| 精精国产XXXX视频在线| 国产在线拍揄自揄拍无码| 伊人影视在线观看日韩区|