Beginning Lua Programming

Overview

This book is for students and professionals who are intrigued by the prospect of learning and using a powerful language that provides a rich infrastructure for creating programs. No programming knowledge is necessary to benefit from this book except for the section on Lua bindings, which requires some familiarity with the C programming language. A certain comfort level with command-line operations, text editing, and directory structures is assumed.

You need surprisingly little ...

See more details below
Paperback
$27.16
BN.com price
(Save 32%)$39.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (22) from $4.65   
  • New (9) from $20.30   
  • Used (13) from $4.65   

Overview

This book is for students and professionals who are intrigued by the prospect of learning and using a powerful language that provides a rich infrastructure for creating programs. No programming knowledge is necessary to benefit from this book except for the section on Lua bindings, which requires some familiarity with the C programming language. A certain comfort level with command-line operations, text editing, and directory structures is assumed.

You need surprisingly little in the way of computer resources to learn and use Lua. This book focuses on Windows and Unix-like (including Linux) systems, but any operating system that supports a command shell should be suitable. You'll need a text editor to prepare and save Lua scripts.

If you choose to extend Lua with libraries written in a programming language like C, you'll need a suitable software development kit. Many of these kits are freely available on the Internet but, unlike Lua, they can consume prodigious amounts of disk space and memory.

Read More Show Less

Product Details

  • ISBN-13: 9780470069172
  • Publisher: Wiley
  • Publication date: 2/5/2007
  • Series: Programmer to Programmer Series
  • Edition number: 1
  • Pages: 672
  • Sales rank: 531,906
  • Product dimensions: 7.40 (w) x 9.20 (h) x 1.48 (d)

Meet the Author

Between his first programs submitted to a Burroughs 5500 on Hollerith punch cards and his latest programs tapped into a Palm Pilot, Kurt Jung has been the principal programmer on various projects ranging from airline yield management to state machine–driven workflow.

Aaron Brown began programming in elementary school on a Commodore 64. He plays various musical instruments and speaks Esperanto.

Read More Show Less

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.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)