zoukankan      html  css  js  c++  java
  • Lua学习-Chunks学习

    Chunks是一系列语句,Lua执行的每一块语句,比如一个文件或者交互模式下的每一行都是一个Chunks
     
    每个语句结尾的分号(;)是可选的,但如果同一行有多个语句最好用;
     
     
     
    假定一个文件 a 内有单个语句 x=1;另一个文件 b 有语句 print(x)
     
    prompt> lua -la -lb

    将在一个 Chunk 内先运行 a 然后运行 b,最后直接进入交互模式。

    -- file 'lib1.lua'
    
    function norm (x, y)
       local n2 = x^2 + y^2
       return math.sqrt(n2)
    

    end

    function twice (x)
       return 2*x
    

    end

    > dofile("lib1.lua") -- load your library > n = norm(3.4, 1.0)
    > print(twice(n)) --> 7.0880180586677

     

    Lua 是大小写敏感的.

    注释:单行注释:-- 多行注释:--[[ --]]

    1.4 命令行方式

    -e:直接将命令传入 Lua
    prompt>lua-e"print(math.sin(12))" -->-0.53657291800043 -l:加载一个文件.
    -i:进入交互模式.

    _PROMPT 内置变量作为交互模式的提示符

    prompt> lua -i -e "_PROMPT=' lua> '"
    lua>
    

    Lua 的运行过程,在运行参数之前,Lua 会查找环境变量 LUA_INIT 的值,如果变 量存在并且值为@filename,Lua 将加载指定文件。如果变量存在但不是以@开头,Lua 假定 filename 为 Lua 代码文件并且运行他。利用这个特性,我们可以通过配置,灵活的 设置交互模式的环境。可以加载包,修改提示符和路径,定义自己的函数,修改或者重 名名函数等。

    在运行以前,Lua 使用所有参数构造 arg 表。脚本名索引为 0,脚本的参数从 1 开始 增加。脚本前面的参数从-1 开始减少。

       prompt> lua -e "sin=math.sin" script a b
    

    arg 表如下:

    page18image8792
     
    page18image8952
     
    page18image9112
     
    page18image9272
     
    page18image9432
     
    page18image9592
    prompt> lua -i -e "_PROMPT=' lua> '"
    lua>
    
    page18image10584
     
    page18image10744
     
    page18image10904
     
    page18image11328
     
    page18image11488
     
    page18image12568
     
    page18image13368
     
    page18image14872
    arg[-3] = "lua"
    arg[-2] = "-e"
    arg[-1] = "sin=math.sin"
    arg[0] = "script"
    arg[1] = "a"
    arg[2] = "b"
    
     
  • 相关阅读:
    redis的坑
    引入easyui的404问题
    添加 @ResponseBody出现错误的问题
    星期,时间
    activiti的坑
    使用shiro遇到的问题
    IS应用程序池的查看与配置【转载】
    JS判断值是否是数字
    如何在EJS中将变量呈现为HTML?
    My97DatePicker日期控件的下载及使用方法
  • 原文地址:https://www.cnblogs.com/AbelChen1991/p/3831174.html
Copyright © 2011-2022 走看看