Lua(英语发音:/ˈlə/程序设计语言是一个简洁、轻量、可扩展的脚本语言,是葡萄牙语中“Luna”(月亮)的意思。

Lua is a powerful, fast, lightweight, embeddable scripting language.

Lua是一种功能强大,高效,轻量级的嵌入式脚本语言。

Introduction

Lua is an extension programming language designed to support general procedural programming with data description facilities. It also offers good support for object-oriented programming, functional programming, and data-driven programming. Lua is intended to be used as a powerful, light-weight scripting language for any program that needs one. Lua is implemented as a library, written in clean C (that is, in the common subset of ANSI C and C++).

Being an extension language, Lua has no notion of a "main" program: it only works embedded in a host client, called the embedding program or simply the host. This host program can invoke functions to execute a piece of Lua code, can write and read Lua variables, and can register C functions to be called by Lua code. Through the use of C functions, Lua can be augmented to cope with a wide range of different domains, thus creating customized programming languages sharing a syntactical framework. The Lua distribution includes a sample host program called lua, which uses the Lua library to offer a complete, stand-alone Lua interpreter.

作为一种扩展性语言,Lua没有主函数(Main函数)的概念,它只能嵌入在主机的客户端,被称为嵌入式程序或者简单的主机。这个主机程序可以调用函数去执行Lua代码片段,还可以读写Lua变量,可以通过调用Lua代码来注册C语言函数。通过使用C语言函数,Lua能够得到扩充和增强以处理应付大范围的不同领域,通过共享语法框架来创建自定义编程语言。

Lua分发包含一个名为“lua”示例主机程序,使用Lua类库来提供一个完整的,独立的Lua解释器。

Lua特性:

Lua是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。和许多"大而全"的语言不一样,网路通讯、图形界面等都没有默认提供。但是Lua可以很容易地被扩展:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。事实上,现在已经有很多成熟的扩展模块可供选用。

Lua是一种多重编程范式的程序设计语言:它只提供了很小的一个特性集合来满足不同编辑范式的需要,而不是为某种特定的编辑范式提供繁杂的特性支持。例如,Lua并不提供继承这个特性,但是你可以用元表来模拟它。诸如名字空间这些概念都没有在语言基本特性中实现,但是我们可以用表结构(Lua唯一提供的复杂数据结构)轻易模拟。Lua可以在运行时随时构造出一个函数,并把它看作一个对象(正是所谓的first class function),这个特性可以很好的满足函数式编程的需要。这是提供了这些基本的元特性,我们可以任意的对语言进行自需的改造。

Lua原生支持的数据类型非常之少,它只提供了数字(缺省是双精度浮点数,可配置)、布尔量、字符串、表、子程序协程(coroutine)以及用户自定义数据这几种。但是其处理表和字符串的效率非常之高,加上元表的支持,开发者可以高效的模拟出需要的复杂数据类型(比如集合、数组等)。

Lua是一个动态弱类型语言,支持增量式垃圾收集策略。有内建的,与操作系统无关的协作式多线程(coroutine)支持。

转自:http://zh.wikipedia.org/wiki/Lua

Eclipse,安装LDT http://www.eclipse.org/koneki/ldt/

Add the following repository: http://download.eclipse.org/koneki/releases/stablefrom the "Help > Install New Software..." menu of your Eclipse 3.7+ workbench, and then check the "Lua Development Tools" feature.
Should you want to install a different version than the latest stable one, check on the wiki the other update repositories available.

Alternatively, you can install LDT using the Eclipse Marketplace.
Just drag and drop the following button into your running Eclipse workbench, and the installation will begin!

windows使用Lua:

1.使用LuaForWindows

Lua for Windows 为 Windows 系统下提供了 Lua 脚本语言的开发和运行环境,很多东西配套好了。

直接像python一样安装一下,安装时把SciTe编辑器也选择上,像头文件,库什么的都直接放好了。

推荐这种方法。

下载地址:http://code.google.com/p/luaforwindows/

2.Script.Net的IDE环境

蓝蚂蚁软件工作室的一个作品,用着感觉不错,用这个也是相当的方便,最主要的是它有vc番茄一样的提示

下载地址:http://www.blueantstudio.net

先下载 基础安装包,再下载安装Lua开发包

3.lua在VS2010环境下的配置

①、在包含目录中添加LuaForWindows安装目录下的include文件夹的路径.我的在WIN7下的路径为:C:\Program Files\Lua\5.1\include.

②、在库目录中添加LuaForWindows安装目录下的lib文件夹的路径.我的在WIN7下的路径为:C:\Program Files\Lua\5.1\lib.

③、在连接器->输入->附加依赖项中添加 lua5.1.lib、lua51.lib

参考:http://blog.csdn.net/wade333777/article/details/20163725

LuaForwindows是一套完整的Lua开发环境,包括:

  1. Lua Interpreter(Lua解释器)
  2. Lua Reference Manual(Lua参考手册)
  3. Quick Lua Tour (Lua快速入门)
  4. Examples (Lua范例)

Libraries with documentation (一些Lua库和文档) ,SciTE (一个很棒的多用途编辑器,已经对Lua做了特殊设置),之OOXX研究院所以推荐这套环境是由于它整合了在windows学习和开发Lua所需要的所有东西,对于新手来说长短常体贴的,附带的SciTE只要经由简朴配置就能够很利便的编写Lua程序,编译,运行,调试。它仍是附带自动提示和代码自动补全功能的哦,对于用惯VC + VA的开发职员来说,其实是太亲切了。

最开始安装LuaForwindows总是失败,因为它查找vcredist_x86.exe。官方解释说:

Lua for Windows installs Lua language, SciTE based Lua IDE and Lua modules to the directory of you choice at install time. Lua for Windows and it's modules all depend on the MSVC++ 2005 runtime library. Lua for Windows install will automatically download this runtime and install it for you if you don't have runtime installed on your computer. The runtime is contained in the file vcredist_x86.exe, if you don't want this download to occur at installation then place the vcredist_86.exe in same directory as Lua for Windows install exe.

但是我总是下载失败,手动下载这个文件和Luaforwindows在同一个目录就可以了。ok,解决了问题。

打开SCiTe:

hello world

文件需要保存之后才能运行。

在线测试Lua代码:

http://www.lua.org/cgi-bin/demo

http://www.cnweblog.com/fly2700/archive/2010/02/09/282920.html

lua教程:

http://metalua.luaforge.net/quicktour.html

Lua开发环境配置的更多相关文章

  1. 安装Nginx+Lua+OpenResty开发环境配置全过程实例

    安装Nginx+Lua+OpenResty开发环境配置全过程实例 OpenResty由Nginx核心加很多第三方模块组成,默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用. ...

  2. nginx 与 lua 开发环境搭建

    首先下载最新版的 相关软件 的安装文件. nginx: http://nginx.org/en/download.html LuaJIT: http://luajit.org/download.htm ...

  3. [转载]使用VS2015搭建Lua开发环境

    参考原文请看: Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一) Lua学习笔记2:Windows7下使用VS2015搭建Lua开发环境(二) 本篇主要分以下几个部分: 一 ...

  4. (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境

    Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...

  5. lua----------------使用VS2015搭建lua开发环境的一些侥幸成功经验,

    所以本篇博文介绍在Windows平台下,使用VS2015搭建lua开发环境的一些侥幸成功经验,安装过程参考网上教程,安装过程如下(参考http://www.byjth.com/lua/33.html) ...

  6. Python开发环境配置

    好久没有写博客了,自从6月份毕业后,进入一家做书法.字画文化宣传的互联网公司(www.manyiaby.com),这段时间一直在进行前端开发,对于后端的使用很少了,整天都是什么html.css.jav ...

  7. Visual studio 通用开发环境配置:SDL,FFMPEG为例

    引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...

  8. AndroidStudio开发环境配置-Windows

    Android Studio开发环境配置-Windows 最近突发奇想,开始研究Android开发.开始时使用Eclipse作为开发IDE,结果各种不好使,首先下载和安装SDK,以及不同版本的Imag ...

  9. WIN10下java8的开发环境配置与第一个java程序

    一.开发环境配置 1.在官网上下载jdk-8u111-windows-x64.exe 2.运行安装包,可以自定义安装路径 3.进入环境变量设置: 计算机右键-->属性-->高级系统设置-- ...

随机推荐

  1. Qt 学习之路:元素布局

    上一章我们介绍了 QML 中用于定位的几种元素,被称为定位器.除了定位器,QML 还提供了另外一种用于布局的机制.我们将这种机制成为锚点(anchor).锚点允许我们灵活地设置两个元素的相对位置.它使 ...

  2. Excel VBA批量修改文件夹下的文件名

    今天,有同事提出想批量修改文件名,规则比较简单,在第五位后加“-”即可, 上网没找到相关工具,就自己做了个excel,用宏代码修改. 代码如下: Private Sub CommandButton1_ ...

  3. json、xml ---- 数据格式生成类

    自己写的一个生成json/xml 格式数据的类,可用于api数据传输: <?php class Response{ /** *生成指定数据格式 *@param intval $code 状态码 ...

  4. C# 日期字符串转成javascript日期

    1.c# date to js date var csharpStr='/Date(1479694396330)/'; //替换掉非数字 csharpStr=csharpStr.replace(/[^ ...

  5. Wpf 鼠标拖动元素实例

    1.Wpf中鼠标捕获和释放 //以矩形为例 //创建鼠标捕获 Mouse.Capture(rectOne); //释放鼠标捕获 rectOne.ReleaseMouseCapture(); 2.Wpf ...

  6. 安卓工程修改包名后 Failed to find provider info for...问题

    安卓工程修改包名后 Failed to find provider info for com.android...provider问题 原因: 1. 多处含包名文件须同时更改 2. Manifest里 ...

  7. Java开发工程师必会做试题

    一.单选题     (共19道题,每题5分) 1.下面有关java的一些细节问题,描述错误的是? A.构造方法不需要同步化 B.一个子类不可以覆盖掉父类的同步方法 C.定义在接口中的方法默认是publ ...

  8. 段落排版--行间距, 行高(line-height)

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  9. 文字排版--粗体(font-weight)

    我们还可以使用css样式来改变文字的样式:粗体.斜体.下划线.删除线,可以使用下面代码实现设置文字以粗体样式显示出来. p span{font-weight:bold;} 在这里大家可以看到,如果想为 ...

  10. 获取C++类成员变量的地址偏移

    今天有在校学生问怎么获取类中的成员变量的地址偏移量,这个应该是很多初学C++的人很好奇的问题.以前我在学校的时候,也有过这种需求.忘了当时是要写什么“奇怪的程序”了,反正需要获取一个类的成员变量的地址 ...