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. iOS安全攻防(三):使用Reveal分析他人app

    使用Reveal分析他人app 准备工作 1)已越狱的设备,而且已安装了OpenSSH,MobileSubstrate等有用工具(Cydia源里安装) 2)本地已安装了Reveal 操作步骤 1)拷贝 ...

  2. [转] 考验你的JavaScript底细

    http://sentsin.com/ 尽管今日的JavaScript已经突飞猛进,但JS的许多特性仍然保留,以下题目并不是有意设坑,许多地方将验证你的JS底细,如果错了一半,请别告诉我你从事前端. ...

  3. C#开发学习——内联表达式

    <%@ 表示:引用 <%# 表示:绑定 <%= 表示:取值     <%= 变量名%> Response.Write()输出和<%=%>输出最后的效果是一样的 ...

  4. Mongodb 启动时 lock文件访问没有权限处理

    mongodb 第二次启动时候异常信息: lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance ...

  5. Jquery 替换全部花括号

    js:var str="{aaa}123{aaa}";str.replace(/\{aaa\}/g, "111");

  6. ASP。net中如何在一个按钮click事件中调用另一个按钮的click事件

    方法一: 直接指定 事件<asp:Button ID="btn1" runat="server" Text="按钮1" onclick ...

  7. 绘图quartz之加水印

      实现在图片上加一个水印  并存在document的路径下  同时在手机相册中也存一份 //首先开启imageContext找到图片     UIGraphicsBeginImageContext( ...

  8. hdoj 2047 简单递推

    代码: #include <stdio.h>int main(){ int n,m,i; __int64 x[41]; x[1]=3; x[2]=8; for(i=3;i<=40;i ...

  9. jQuery慢慢啃之CSS(六)

    1.css(name|pro|[,val|fn])//访问匹配元素的样式属性 $("p").css("color");//获取 $("p") ...

  10. Java学习----this和super(在继承中)

    public class Base { /*public Base() { System.out.println("Base 类的初始构造方法"); }*/ public Base ...