Beginning Lua Programming (Paperback)

Kurt Jung, Aaron Brown

  • 出版商: Wrox Press
  • 出版日期: 2007-02-12
  • 售價: $1,550
  • 貴賓價: 9.5$1,473
  • 語言: 英文
  • 頁數: 672
  • 裝訂: Paperback
  • ISBN: 0470069171
  • ISBN-13: 9780470069172
  • 相關分類: 程式語言
  • 已絕版

買這商品的人也買了...

商品描述

Description

  • A small yet extraordinarily powerful programming language, Lua achieved its popularity early on as a video game scripting language and has since evolved into a general purpose programming language that is compact enough to fit on a variety of host platforms
  • This book provides programmers, game developers, and Web site developers with an in-depth look at the various aspects of programming in Lua
  • Complete code samples with practical applications and robust error handling offers beginners helpful learning tools
  • Diagrams provide a visual glimpse behind the scenes of important Lua features such as stacks, hash tables, garbage collection, lexical scope, and function closures
  • Features discussions on managing memory, garbage collection, using libraries, strings, tables, extending Lua, event handling, databases, and Web and game programming
 
 
Table of Contents
Acknowledgments.

Introduction.

Chapter 1: Getting Situated.

Choosing How to Install Lua.

Finding Your System’s Shell.

Dealing with Tarballs and Zip Files.

Compiling Lua.

Binary Packages.

Additional Tools.

Chapter 2: First Steps.

Numbers and Arithmetic Operations: Basic Interpreter Usage.

Interpreter Know-How.

Numerical Gotchas.

Variables and Assignment.

Strings.

Relational Operators and Boolean Values.

The nil Value.

Boolean Operators.

The Concatenation, Length, and Modulo Operators.

Automatic Conversion of Operands.

Precedence and Associativity.

Variables and Values.

Comments.

Expressions and Statements.

Compound Statements.

Chapter 3: Extending Lua with Functions.

Return Values.

Chunks as Functions.

Variable Scope.

Understanding Side Effects.

Functions Calling Functions.

Functions as Values.

Whitespace, Semicolons, and Function Calls.

Upvalues and Closures.

Chapter 4: Working with Tables.

Tables Introduced.

A Shorter Way to Write Some Keys.

Altering a Table’s Contents.

Tables as Arrays.

Array Length.

Looping through Tables.

Tables of Functions.

Functions with Variable Numbers of Arguments.

Keyword Arguments.

Different but the Same.

Building Other Data Structures from Tables.

Custom-Made Loops.

Global Variable Environments.

Chapter 5: Using Strings.

Basic String Conversion Functions

String Length.

Converting Between Characters and Character Codes.

Formatting Strings and Numbers with string.format.

Input/Output.

Pattern-Matching.

Chapter 6: Handling and Avoiding Errors.

Kinds of Errors.

Handling Errors.

Locating Errors.

Chapter 7: Using Modules.

Interfaces and Implementations.

The require Function.

Where to Put Modules.

Preserving a Module’s Interface.

Module Bookkeeping.

Bytecode.

Namespaces.

The module Function.

C Modules.

Chapter 8: Extending Lua’s Behavior with Metamethods.

Using Concatenation and Arithmetical Operators on Tables.

Relational Metamethods.

Indexing and Call Metamethods.

Non-Tables with Metamethods.

Non-Syntactical Metamethods.

Metamethod Applicability.

Chapter 9: Handling Events Naturally with Coroutines.

Coroutines and Program Control.

Managing Concurrent Tasks.

Retaining State.

Handling Events Simply.

Chapter 10: Looking Under the Hood.

Bytecode and luac.

Garbage Collection.

The Implementation of Tables and Strings.

The Debug Library.

Chapter 11: Exploring Lua’s Libraries.

Core Library.

Coroutine Library.

Package Library.

String Library.

Table Library.

Math Library.

Input/Output Library.

Operating System Library.

Debugging Library.

Chapter 12: Using Community Libraries.

Library Overview.

How Lua Interacts with Libraries.

The pack Binary Structuring Library.

The cURL File Transfer Library.

The gd Graphics Library.

The SQLite Database Library.

Chapter 13: Interfacing Lua with Other Languages.

How C Programs Use Lua.

Communicating Between Lua and C.

Calling Lua from C.

Working with Userdata.

Indexing Values in C.

Retaining Values in C.

Layering Your Extension Library.

Chapter 14: Managing Information with Databases.

Some Basic Relational Database Concepts.

SQL, LuaSQL, and MySQL.

Chapter 15: Programming for the Web.

A Web Server Primer.

Dynamic Web Content.

Executing CGI Scripts.

Installing a Web Server.

Testing Your Web Server with Static Content.

Serving Dynamic Web Content.

Interactive CGI Applications.

The Kepler Project.

Chapter 16: Connecting to a Larger World.

Installing LuaSocket.

Network Overview.

Using LuaSocket for Network Communication.

Handling Multiple Persistent Connections.

The Application Protocols.

Networking with Lua and Streams.

Chapter 17: Programming Games with Lua.

Understanding Why and When to Use Lua.

Simple 2-D Action Game Using SDL.

Chapter 18: Carrying Lua with You.

Getting Started with Plua.

Exploring Plua’s Features.

Plua on the Mothership.

Programming with Plua.

Chapter 19: Fitting into the Lua Community.

The Lua Web Site.

The Lua Reference Manual.

Framing Questions.

The Lua Mailing List.

The Lua Chat Room.

Forums.

The Lua Wiki.

LuaForge.

Annual Workshops.

Appendix A: Answers.

Index.

商品描述(中文翻譯)

描述

Lua是一種小而非常強大的程式語言,早期作為視頻遊戲腳本語言而廣受歡迎,現已發展成為一種適用於各種主機平台的通用程式語言。本書為程式設計師、遊戲開發人員和網站開發人員提供了深入研究Lua程式設計各個方面的內容。書中提供了完整的程式碼示例,並提供了實用的應用和強大的錯誤處理,為初學者提供了有用的學習工具。圖表提供了對Lua重要功能的視覺瞥見,例如堆疊、哈希表、垃圾回收、語法範圍和函數閉包。書中還討論了內存管理、垃圾回收、使用庫、字符串、表、擴展Lua、事件處理、數據庫以及網站和遊戲程式設計等主題。

目錄

致謝
介紹
第1章:入門
選擇如何安裝Lua
找到您系統的Shell
處理Tarballs和Zip文件
編譯Lua
二進制包
其他工具
第2章:第一步
數字和算術運算:基本解釋器使用
解釋器知識
數字陷阱
變量和賦值
字符串
關係運算符和布爾值
nil值
布爾運算符
連接、長度和取模運算符
自動轉換