Lua简明入门实践(从"基"搞起)_(四)Lua标准库与文件

(四)Lua标准库与文件
接上一篇 (三)Metatables和面向对象

10、Lua常用标准库

       1)math库
       常用的math库方法
2)string库


结果:

        3) os库(clock, date, time )




结果:

结果:

     4) io库




11、文件的加载与运行

       当我们需要加载与运行已有文件中的Lua代码时,可以用以下几种方式: 
(1) loadstring( str )  --- 加载字串

loadstring()本是函数,由于数是string,所以没有加括号。loadstring()执行完之后,
只是加载解析, 并没有执行。返回的是一个function类型。执行该函数便可以运行。相当于:
        (2) loadfile( file_name ) --- 加载文件
        这个函数相当于从文件里读出string,然后再调用loadstring(file_text)实现加载功能。

        (3) dofile( file_name )  --- 加载并执行文件

   相当于loadfile()之后,返回一个函数,再调用这个函数。


        (4) require( file_name ) 

          这个函数是通过调用dofile()来实现的。不同的是,每次加载执行一个文件时,

require()都会记录,避免重复加载。另外,如果给定的路径找不到文件,require()会到

指定的路径下去找寻到要加载的文件。文件名称可以省去.lua后缀。

  我们可以直接使用require(“model_name”)来载入别的lua文件,载入的时候就直接

执行那个文件了。比如,我们有一个hello.lua的文件:

   

如果我们:require(“hello”),那么就直接输出Hello, World!了。

  注意:
  1)require函数,载入同样的lua文件时,只有第一次的时候会去执行,后面的相同的都不执行了。
  2)如果你要让每一次文件都会执行的话,你可以使用dofile(“hello”)函数
  3)如果你要玩载入后不执行,等你需要的时候执行时,你可以使用 loadfile()函数,如下所示:

      

          loadfile(“hello”)后,文件并不执行,我们把文件赋给一个变量hello,

当hello()时,才真的执行。当然,更为标准的玩法如下所示。

假设我们有一个文件叫mymod.lua,内容如下:

     文件名:mymod.lua

于是我们可以这样使用:

       其实,require干的事就如下:(所以你知道为什么我们的模块文件要写成那样了)
参考:  
       如果你还比较喜欢Lua的话,下面是几个在线文章你可以继续学习之:

            Lua官网 Lua官方网站

          book.luaer.cn Lua在线lua学习教程


               由于本人对Lua面向对象等的使用和理解还不深刻,这里参考了博文 酷 壳 – CoolShell.cn,

   Lua学习总结 这里感谢这两位位博主! 由于对于Lua与C/C++的交互部分也不熟悉,因此这里

        就不作过多陈述了。

          

                      

                                

      




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值