|
Lua Fundamentals培訓 |
|
班級人數--熱線:4008699035 手機:15921673576( 微信同號) |
增加互動環節,
保障培訓效果,堅持小班授課,每個班級的人數限3到5人,超過限定人數,安排到下一期進行學習。 |
授課地點及時間 |
上課地點:【上海】:同濟大學(滬西)/新城金郡商務樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院 【北京分部】:北京中山學院/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領館區1號(中和大道) 【廣州分部】:廣糧大廈 【西安分部】:協同大廈 【沈陽分部】:沈陽理工大學/六宅臻品 【鄭州分部】:鄭州大學/錦華大廈 【石家莊分部】:河北科技大學/瑞景大廈
開班時間(連續班/晚班/周末班):2020年3月16日 |
課時 |
◆資深工程師授課
☆注重質量
☆邊講邊練
☆若學員成績達到合格及以上水平,將獲得免費推薦工作的機會
★查看實驗設備詳情,請點擊此處★ |
質量以及保障 |
☆
1、如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽;
☆ 2、在課程結束之后,授課老師會留給學員手機和E-mail,免費提供半年的課程技術支持,以便保證培訓后的繼續消化;
☆3、合格的學員可享受免費推薦就業機會。
☆4、合格學員免費頒發相關工程師等資格證書,提升您的職業資質。 |
☆課程大綱☆ |
|
- 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
|
|
|
|
|
|