Lua Directory |
|
This page is a top level directory of all Lua content at this wiki, grouped by topic.
- Introduction to Lua
- LearningLua – introduction to Lua (a guided directory)
- LuaTutorial – an informative tutorial written and reviewed by Lua users
- SampleCode – snippets of useful Lua code
- LuaComparison – how Lua compares with other languages.
- LuaFaq – unofficial, community-maintained frequently asked questions
- LuaLinks – a hand-edited list of useful Lua links
- LuaBooks – list of books on the subject of Lua
- Language Definition and Features
- LuaShortReference – concise summary of the Lua 5.1 syntax and core libraries
- LuaReferenceManualComments – user comments and annotations on the Lua Reference Manual.
- LuaSymbols? – the purpose of symbol characters within Lua code
- LuaVirtualization – which operations can/cannot be hooked
- Lua changes – LuaFiveThree (5.3), LuaFiveTwo (5.2), MigratingToFiveOne (5.1), LuaFiveFeatures (5.0), LuaVersionCompatibility (portability across versions)
- HiddenFeatures – describes unsupported and undocumented features of the standard Lua distribution
- LuaScoping – on variable scope and upvalues
- LuaTrivia – test your Lua knowledge
- ZenOfLua – grok it
- GarbageCollection – info on Lua‘s garbage collection
- FloatingPoint – explains why double floating point is perfectly fine for most integer applications
- LightUserData – explains the purpose and use of lightuserdata
- SimpleCommandLineScriptExecution – execute a script
- StringIndexing – supporting index and slice operators on strings
- MechanismNotPolicy – comments on Lua‘s "mechanism not policy" design principle
- Code Structure / Programming Paradigms
- LocalsVsGlobals – Comparison between local and global variables
- Control structures / structured programming
- SwitchStatement – emulating a C-style switch statement in Lua (design pattern)
- GotoStatement – goto statement
- WithStatement – implementing a "with" structure (like in JavaScript? etc.)
- ContinueProposal – continue statement
- TernaryOperator – conditional expression
- Module Programming
- ModuleDefinition – approaches to define modules
- See also "Modules/Libraries" below
- ObjectOrientedProgramming – object oriented programming techniques in Lua
- CustomOperators – approaches to using custom operators
- PointAndComplex – comments on operator overloading in Lua
- AspectOrientedProgramming – coding with pointcuts [1] and advices [2] in Lua
- Declarative and Functional Programming
- NamedParameters – implementing named parameters in Lua
- FiltersSourcesAndSinks – discusses chaining of filters, which are functions that accept successive chunks of input, and produce successive chunks of output
- FiltersAndPipesReloaded – presents a coroutines based framework for working with filters and pipes
- CurriedLua – currying functions in Lua
- GenericInputAlgorithms – functional, AWK-style text processing in Lua
- FunctionalLibrary – porting several convenient functional utilities form Haskell, Python, etc.
- ShortAnonymousFunctions – expressing anonymous functions more tersely than function() return ... end
- FunctionalTuples – implementing tuples in terms functions (design pattern and tutorial)
- MutableFunctions – using functions to simulate the semantics of tables (design pattern)
- RecursiveDataTypes – handling recursive data types (design pattern and tutorial)
- ListComprehensions – list comprehension implementations
- RandomSample – lazy tables, a simple illustration of lazy evaluation (design pattern)
- FuncTables – memoization of functions using callable tables (design pattern, code, and tutorial)
- HammingNumbersVariant – enumerate hamming numbers, with lazy list (function)
- ImmutableObjects – topics of immutability/const-ness in Lua
- StructuralPatternMatching – pattern matching, ML style.
- Concurrent and Event-driven Programming
- MultiTasking – multitasking/multithreading approaches in Lua
- FiniteStateMachine – finite state machine (FSMs) (design pattern)
- Coroutines
- CopasExample – TCP socket server utilizing Copas library (examples)
- CoroutinesAsConnectionHandlers – scaffolding for handling multiple sockets using coroutines (design pattern)
- CoroutinesAsEventHandlers – scaffolding for handling event responders (design pattern)
- FunWithCoroutines – tricks using coroutines: reverse string and control inversion (design patterns)
- PcallAndCoroutines – issues with pcall and coroutines
- Source Processing / Metaprogramming
- MetaProgramming – macros, token filters, facilities for syntax extensions, and source processors
- LuaGrammar – Lua grammar, lexers, and parsers
- SourcePreprocessing – tricks to preprocess source code.
- LuaTokenParsing – altering Lua by fiddling with the token stream
- MetaLua – alternative Lua compiler with compile-time metaprogramming and syntax extensions
- MetaLuaAbstractSyntaxTree – The syntax tree produced by Metalua and consumed by various utilities
- ErrorHandling – topics on error and exception handling
- ResourceAcquisitionIsInitialization – automatically releasing acquired resources on scope exit, RAII
- BitwiseOperators – bitwise operations
- StructurePacking – pack/unpack C structure data
- FileSystemOperations – file system operations
- DatabaseAccess – database programming
- DateAndTime – date and time handling
- StringInterpolation – approaches to interpolating variables in strings
- CommandLineParsing – command-line parsing
- TypeIntrospection – determining types of objects at runtime
- UniversallyUniqueIdentifiers – various ways to created universally unique identifiers (UUID‘s) in Lua
- PlatformDetection – detect OS platform type from Lua
- ArtificialIntelligence – AI in Lua
- LuaDataFormats – using Lua as a data representation language
- LuaDesignPatterns – additional design patterns in Lua
- LuaHacks – unconventional approaches to problems in Lua
- Data Structures/Types – see DataStructures
- Algorithms / Data Manipulation
- CopyTable – return deep copy of table
- Ordering Iterators
- OrderedTable – iterate over tables in the order of key insertion (function and design pattern)
- OrderedTableSimple – iterate over tables in the order of key insertion (function and design pattern)
- OrderedAssociativeTable – iterate over a table using a sorted index (function and design pattern)
- RangeIterator – a ‘range‘ iterator function that acts like basic for loops (function)
- SortedIteration – iterating a table in order by keys (function)
- SortedIterationSimple – iterating a table in order by keys (function)
- GeneralizedPairsAndIpairs – next, pairs, and ipairs reimplemented to call metamethods (design pattern and functions)
- NextMetamethodForIndexTable – next()-like function for iterating table against table __index (function and design pattern)
- Indexing
- MultipleKeyIndexing – indexing with multiple keys
- Sorting
- LazySort – sort only as much of a table as is necessary (function and tutorial)
- LuaSorting – a sample shellsort implementation in pure Lua (function)
- Search in sorted arrays
- BinarySearch – searches for a value in a sorted array via a binary search algorithm (function)
- BinaryInsert – inserts a value into a sorted array via a binary search algorithm (function)
- InterpolatingSearch – searches for a value in a sorted array via an interpolating search algorithm (function)
- StringRecipes – solutions to various common string manipulation needs
- RandomStrings – generate random strings from defined char sets (function)
- To-string conversion and output
- StringInterpolation – interpolating variables into strings in Lua (functions and design patterns)
- TableSerialization – converting tables to strings and vice versa
- LuaPrintf – emulation of printf string formatting (function)
- FormattingNumbers – format numbers in monetary format (function)
- HexDump – dump a string in typical ‘hex dump‘ format
- Numerical: HammingNumbers | HammingWeight
- Building, Binding, and Packaging
- BuildingLua – notes on compiling Lua and some build packages
- Special linking:
- BinToCee – generate a C file to load and run a Lua program
- LuaProxyDll – create a proxy DLL for statically linked Lua
- LoadLibrary – discussion of issues with Win32 Load
Library module loading
- ApplicationBinaryInterface – notes on binary interface (ABI) compatibility in Lua modules
- EasyManualLibraryLoad – greatly simplifies manual loading of Lua 5.1 shared library
- BuildingModules – How to properly build C extension modules for Lua.
- BindingCodeToLua – how to call or bind C or C++ code to Lua
- LuaRocks – installs Lua modules as self-contained packages (with dependency info) called "rocks"
- LuaBuildSystems – Build systems implemented or expressed in Lua
- PlatformSpecific – Platform-specific breakdown of the Lua universe
- VeritasMachine – Objective-C bind of Lua on iOS, with most feature supported.
- Extending and Using Lua
- LuaAddons – a directory of "things for Lua" that are outside this site
- Modules/Libraries
- LuaForge – contains modules (and applications)
- LibrariesAndBindings – list of libraries implemented in Lua or implemented in another language (e.g. C) but having a Lua interface
- LuaRocks – installs Lua modules as self-contained packages (with dependency info) called "rocks"
- LuaSearch – intends to become a centralized locater of Lua modules and documentation
- SampleCode – modules and code snippets on this wiki
- LuaProjects – wiki pages that mirror projects
- Modifying Lua and Enhancement Proposals
- LuaPowerPatches – "mix and match"-friendly patches to the official Lua distribution
- ModifyingLua – example of changing Lua itself
- FeatureProposals – discussions about new features or feature changes.
- Problem Domains (Application Domains)
- GUI and Graphics
- AnsiTerminalColors – console colors
- Text and XML Processing
- LuaXml – methods of handling XML in Lua (Lua code and C-bindings to parsers)
- GenericInputAlgorithms – functional, AWK-style text processing in Lua
- FiltersSourcesAndSinks – discusses chaining of filters, which are functions that accept successive chunks of input, and produce successive chunks of output
- SlightlyLessSimpleLuaPreprocessor – macro processor
- TextTemplate – macro processor
- Text Editing or Formatting Lua Code
- LuaEditorSupport – syntax highlighting, auto-formatting, etc.
- SciteScripts – Lua scripts for the SciTE text editor
- SourceCodeFormatter – may be helpful to format your code for the wiki
- VmMerge – merges Lua source code with VM disassembly
- Unicode/localization/charsets
- LuaUnicode – how to use Unicode in Lua
- LuaLocales – how to use locales in Lua
- Other
- ModuleReview – modules by domain with an independent assessment of them
- LibrariesAndBindings – Lua libraries and bindings to existing libraries and environments
- Lua Implementation
- LuaSource – comments on the source code and implementation of Lua. (LuaSourceTable - some notes about Lua‘s table implementation)
- LuaPowerPatches – "mix and match"-friendly patches to the official Lua distribution
- ModifyingLua – example of changing Lua itself
- LuaImplementations – Reimplementations of Lua
- Code Improvement
- Quality and Testing
- ProgramAnalysis – static code analysis or dynamic program analysis) of Lua code
- UnitTesting – how to write unit tests with Lua
- DebuggingLuaCode – tools for Lua code debugging
- DetectingUndefinedVariables – detecting undefined locals
- LuaTypeChecking – approaches to type checking in Lua
- LuaStyleGuide – recommended Lua coding practices
- Performance and Optimization
- OptimisationTips – making Lua code more efficient, including profilers
- ProfilingLuaCode – profilers for Lua code.
- Security: LuaSecurity – security aspects of Lua
- Quality and Testing
- Archive (pertains to old versions of Lua)
- LuaCheia – wish to make a full-featured language based on Lua that rivals other scripting languages
- PackageSystem – an embryonic package system for Lua 5
- LuaBinaryModules – allows pre-built libraries to be loaded at runtime, providing an alternative to the usual compile and link headaches
- VisualStudioSyntaxCheck – a tool for MS Visual Studio 6.0 to check the syntax of Lua files
- LuaInRealTimePrograms
- Community
- LuaWorkShop – workshops gathering Lua users
- UserGroups – local and regional informal gatherings and groups
- LuaUses – examples of projects around the world that use Lua
- HelpWanted – listing of help wanted for community projects
- WishList – list of wished-for libraries and bindings and such
- IrcChannel – a chat room for discussing Lua
- [#LuaLang] – Twitter hashtag
- [lua-l] – Lua mailing list
- LuaDevelopmentModel – how Lua functions and evolves
- LuaStats – Lua (un)popularity statistics
- LuaNews – summary of the latest happenings in the Lua world
- lua-users website
- WikiHelp – info about how to use this wiki
- CastOfCharacters – who‘s who on this site
- LuaUsersLottery – how we pay for lua-users.org costs
- GuestBook – feedback about this site
RecentChanges · preferences
edit · history
Last edited January 2, 2015 1:14 am GMT (diff)
时间: 2024-11-07 21:33:29