Lua起点

1、io.read(...) 从stdin中读取数据

     --> 代码当中有关io.read("*number")类型的,输入操作的都可以在lua.exe的程序当中写入运行
-- 限制只能输入 number类型的
local inputNum = io.read("*number")
print(inputNum)
-- 5
    ... 可选的参数:
         "*all"     读取整个文件的内容 
         "*line"    读取一整行
         "*number"  读取一段字符串,并将其转为 number 类型,无法转为number,则返回 nil
         num        要读取的字符数
         默认不填参数,则为读取整行

     --> 使用 io.read("*number") 带来的问题
local nNum = nil
local tNum = {}
while true do
    nNum = io.read("*number")
    if nNum then
        table.insert(tNum, nNum)
        if #tNum > 10 then
            break
        end
    else
        print("输入不合法,请重新输入!")
    end
end
   像类似的步骤,如果输入的是一个字符串的话,就会陷入一个死循环当中
   解决的方法,就是不使用 "*number"模式,再加个 tonumber 进行转换
     nNum = tonumber(io.read())

2、Chunk指的是在一定范围内的一系列语句

   chunk块,是lua的一个代码块,类似一个函数,chunk块可以是一行代码,可以是一个表达式,也可以是一个文件等

3、lua中文件之间的联系可以通过 dofile("filePath")

   但是使用这种方法加载lua文件,会导致重复加载的情况
   一般的情况下都是使用 require 来进行的

4、使用全局变量要慎重

    要删除一个全局变量可以将其赋值nil就可以,否则该全局变量将伴随整个程序的运行,不会被垃圾回收机制清理掉

5、lua标识符

     --> 由字母、下划线、数字组成,数字不能为开头
     --> 大小写敏感
     --> 避免使用下划线开头后面紧跟一个或多个大写字母,如:_VERSION
     --> Lua保留字
and
break
do
else
elseif
end
false
for
function
if
in
local
nil
not
or
repeat
return
then
true
until
while




6、解释器程序

    --> 在 UNIX 系统下,在 LUA 文件的开头第一行添加代码:
# !/usr/local/bin/lua
或
# !/usr/bin/env lua
     在UNIX程序上就可以直接调用脚本文件,无需显式的调用Lua解释器

    --> lua命令行参数
     格式: lua [options] [script[args]]
     不使用任何的参数,则直接启动lua解释器
     options:r
          -e 可以直接在命令行中输入 代码             
lua -e "print(\"hello world\")"
输出:
hello world
         -l 用于加载库文件
         -i 在运行完其他命令行参数后进入交互模式。
-- test.lua
function add(x,y)
    return x+y
end
$>lua -i test.lua
Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> print(add(5,6))
11
    -i 将加载执行 test.lua,然后进入交互模式
         -v 显示lua的版本信息
     使用 "lua  lua文件名"  --> 执行该lua文件
     在交互模式中,如要打印任何表达式的值,可以用等号开头,并跟随一个表达式。,这样有助于把lua当做计算器来使用    
> =5+5
10

7、";"  分号的使用

    在Lua中 分号的使用是非必须的,但是有时候分号可以让代码更加的清晰
     --> 在一行中存在多条语句时
a = 10 b = 20  -- 这样看起来不太清晰
a=10; b=20    -- 这样就好一些,但是最好是分行
     --> 在表中分类
food={"apple","peach","tea","juice"}   -- 放置食物的表
food={"apple","peach";"tea","juice"}   -- 在表中又用分号,分类水果和饮品

8、代码注释

     --> 行注释 --
     --> 块注释 --[[   ...   --]]
     --> 特殊的块注释, 在块注释的等号之间添加同等数量的"="
--[==[
local str = [[
hello \nworld
]]
 
print(str)   -- hello \nworld
--]==]
如果不使用特殊的块注释的话,那么,那么上面的注释就会报错
     --> 在块注释的 -- 和 [[或[=...[ 之间加个空格,则会解开注释
























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值