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

  Comprehensive Lua培訓

 

 

 

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

主站蜘蛛池模板: 一本久久a久久精品综合夜夜| 91精品国产综合久久四虎久久无码一级 | 天堂无码久久综合东京热| 亚洲综合久久夜AV | 色综合.com| 亚洲激情综合网| 激情综合色五月六月婷婷| 日本丶国产丶欧美色综合| 婷婷色香五月综合激激情| 亚洲综合成人网在线观看| 欧美亚洲综合另类| 亚洲综合精品网站在线观看| 久久99精品综合国产首页| 欧美日韩国产综合视频在线看 | 亚洲VA欧美va国产va综合| 婷婷五月综合色视频| 久久综合亚洲鲁鲁五月天| 区二区三区激情综合| 久久一本综合| 亚洲欧美综合另类图片小说区 | 最新狠狠色狠狠色综合| 日韩欧美Aⅴ综合网站发布| 欧美αv日韩αv另类综合| 亚洲人成网站999久久久综合 | 亚洲国产天堂久久综合| 日韩欧美Aⅴ综合网站发布| 狠狠做五月深爱婷婷天天综合| 婷婷五月综合色视频| 狠狠做深爱婷婷综合一区| 成人久久综合网| 欧美日韩国产色综合一二三四 | 天天在线综合网| 狠狠色综合久色aⅴ网站| 久久久久AV综合网成人| 欧美综合自拍亚洲综合图| 三级韩国一区久久二区综合| 亚洲欧美综合在线天堂| 女人和拘做受全程看视频日本综合a一区二区视频 | 国产成+人+综合+欧美亚洲| 久久91精品综合国产首页| 久久涩综合|