Lua学习笔记(1):简单入门

前言:jetson TX1 上安装torch 的时候,安装了 LUA。

原因github 上很多神经网络(例如我想用的RNN,lstm等,用的是torch框架,而torch主要得益于一个简单、快速的脚本语言LuaJIT,和底层的C。

结果:需要学习一下LUA语言。


LUA环境安装:

  1. 要是独立安装 LUA 的话:
    curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz
    tar zxf lua-5.3.0.tar.gz
    cd lua-5.3.0
    make linux test
    make install
  2. 要是安装torch的话,在安装过程中就会安装LUA。 

背景:Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于1993开发的一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。


Lua特性

  1. 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。
  2. 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
  3. 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
  4. 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
  5. 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
  6. 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。

第一个Lua程序:"Hello World!"

想在 jetson TX1 上面找一个好用的LUA程序编辑器,主要想要的功能有:代码自动补全。

下载了一个 SciTE : $sudo apt-get install scite。

据说是神器,但我发现好像没有代码自动补全,背景什么的目前还没有设置好。谁要是知道在Ubuntu上有好用的 LUA 编辑器,请留言或者QQ;1002100760,告诉我一声,共同学习,谢谢。

下面实现一个 "hello world"

  1. 用 SciTE:
    在Ubuntu的 terminal 打开scite: $scite
    新建一个hello.lua文件,然后保存。
    打开 hello.lua,在 hello.lua 里面输入:
    print("Hello World!")
    然后点击 F5 即可运行结果。
  2. 用 gedit:
    新建一个 hello.lua 文件:$ gedit hello.lua
    输入:
    print("Hello World!")
    保存。然后运行:
    $ th hello.lua

你可能感兴趣的:(LUA)