《Lua程序设计第4版》读书笔记--闭包、模式匹配、日期和时间

产业园区在推动科技成果转化过程中,如何实现企业与高校的精准对接?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载
第一类值
        可以将某个函数保存到变量中(全局变量和局部变量)或表中
        也可以将某个函数作为参数传递给其他函数
        还可以将某个函数作为其他函数的返回值返回
        例:
            a = {p = print}       -- 'a.p'指向'print'函数
            a.p("Hello World")  -->Hello World              
 
非全局函数
        local    function f(params)
            body
        end
 
词法定界
        一个被其他函数B包含的函数A时,被包含的函数A可以访问包含其的函数B的所有局部变量
        例
 
 
模式匹配相关函数
        Lua语言没有POSIX正则表达式,也没有使用Perl正则表达式
        
        函数string.find  有两个可选参数,第3个参数是一个索引,说明从目标字符串哪个位置开始,返回开始位置的索引和结束位置的索引
        例
            s = "hello world"
  •             i,  j = string.find(s, "hello")
            
        函数string.match 返回的是目标字符串与模式相匹配的那部分子串
         例:print(string.match ("hello world", "hello")) --> hello
 
        函数string.gsub 有3个必选参数:目标字符串、模式和替换字符串
            例:s = string.gsub("Lua is cute","cute", "great")
 
        函数string.gmatch 返回一个函数,通过返回的函数可以遍历一个字符串中所有出现的指定模式
        
        Lua中使用'%'作为转义符
            .         任意字符
            %a     字母
            %c     控制字符
            %d     数字
            %g     除空格外的可打印字符
            %l      小写字母
            %p     标点符号
            %s      空白字符
            %u      大写字母
            %w     字母和数字
            %x      十六进制数字
 
    日期和时间
  • 数字表示,通常是一个整型数
  •  日期表,year、month、day、hour、min、sec、wday、yday、isdst
 
        os.time()返回以数字形式返回当前的时间戳, 以一个日期表作为参数调用函数 os.time,那么该函数会返回对应的时间戳
        例:
            os.time()     --1600312802
            os.time({year=2015, month=8, day=15, hour=12, min=45, sec=20})
            --> 1439653520
    
       os.date() 格式化时间
 
        %a 星期几的简写(例如, Wed)
        %A 星期几的全名(例如, Wednesday)
        %b 月份的简写(例如, Sep)
        %B 月份的全名(例如, September
        %c 日期和时间(例如, 的/ 16/98 23: 48: 10)
        %d 一个月中的第 16) [01 - 31]
        %H    24 小时制中的小时数(23 [00- 23]
        %I    12 小时制中的小时数(11) [01 - 12]
        %j    一年中的 259) [001- 365]
        %m 月份(09) [01 - 12]
        %M 分钟(48 [00- 59]
        %p am pm pm
        %S    秒数(10) [00- 60]
        %w 星期( [0-6 =Sunday- Saturday]
        %W 一年中的第几周(37 [00- 53]
        %x 日期(例如, 09/16/98)
        %X 时间(例如 23: 48: 10)
        %y 两位数的年份(98) [00-99]
        %Y 完整的年份(1998
        %z 时区(例如, 0300)
        %% 百分号
 
        例:print(os.date("%Y-%m-%d %H:%M:%S", os.time()))
 
    os.difftime计算两个时间的差值,返回秒为单位返回两个指定数字
 
项目实战:用西门子S7协议开发基于PLC的上位机.pdf 立即下载

相关推荐

该数据集收录了国内主要期货商品和股指指数的日频行情 商品期货覆盖有色、黑色、能化、农产品等板块,包含铜、螺纹钢、原油、豆粕等活跃合约 股指指数部分涵盖沪深300、上证50、中证500等品种 每个品种提

该数据集收录了国内主要期货商品和股指指数的日频行情。商品期货覆盖有色、黑色、能化、农产品等板块,包含铜、螺纹钢、原油、豆粕等活跃合约。股指指数部分涵盖沪深300、上证50、中证500等品种。每个品种提供统一字段:合约代码、交易日期、开盘价、最高价、最低价、收盘价、结算价、成交量和持仓量。数据按交易日顺次排列,未做复权处理,直接反映交易所原始发布信息。 数据源:CMES金融数据库

Lua程序设计(十三)

模式匹配 Lua语言因为大小的原因并没有使用POSIX正则表达式,或者Perl正则表达式来进行模式匹配。 模式匹配相关函数 字符串标准库提供了基于模式的4个函数。find, gsub, match and gmatch。 string.find string.find用于在指定的目标字符串中搜索指定的模式。该函数会返回两个值:匹配到模式开始位置的索引和结束位置的索引。如果没有任何找到任何...

sxylyr的博客 167

KernelSU.zip

KernelSU.zip

Lua中日期和时间函数详解

最近在做Lua脚本的时候,用到了Lua的日期和时间函数,发现其功能强大,学习一下!在Lua中,函数time和 data提供了所有的日期和时间的功能,下面将这两个函数分开学习。 time函数: 如果不带任何参数调用time,它会返回一个数字,表示当前的日期和时间,改数字为某一时刻到此刻的秒数。 如: local current_time = os.time(); -- 返回的结果可能是 15

奋斗Andy的博客 2万+

TSmaster CANFD配置避坑指南:为什么你的PCAN盒不支持最新版本?

本文针对TSmaster配置PCAN硬件进行CANFD通信时的常见问题,提供了详细的避坑指南。重点解析了CANFD配置中TSEG1等关键参数的理解误区,并深入探讨了TSmaster新版本与PCAN硬件驱动之间的兼容性变化,帮助工程师快速定位并解决连接失败或无法发送CANFD报文等问题。

alpha的博客 543

基于单片机红外线遥控Proteus仿真电路发射接收

*单片机设计介绍,基于单片机红外线遥控Proteus仿真电路发射接收。

2201_75940997的博客 3943

新发的日常小实验——lua正则表达式匹配:string.find、string.match、string.gmatch、string.gsub详解

文章目录一、前言二、lua在线测试三、string.find(s, pattern[, init[, plain]])1、案例1:pattern明确搜索2、案例2:pattern分组正则搜索(一个分组)3、案例3:pattern分组正则搜索(多个分组)4、案例4:init参数,从指定位置开始匹配5、案例5:plain参数为true,pattern作为普通字符串匹配三、string.match(s, pattern[, init])1、案例1:匹配版本号2、案例2:匹配日期四、string.gmatch(s,

linxinfa的专栏 9590

python气象数据可视化学习笔记8——利用matplotlib和ERA5数据绘制时间-高度气象综合廓线图

利用matplotlib和ERA5数据绘制时间-高度气象综合廓线图

qiuylulu的博客 8067

Lua正则表达式小记

今天写脚本的时候忽然发现Lua的正则表达式与传统的表达式差别还挺大,特此小记,方便以后查找 = =%为转义字符,控制字符*+-.等字符通过%来转义,另外还有如下作用: %a 字母 %c 控制字符 %d 数字 %l 小写字母 %p 标点字符 %s 空白符 %u 大写字母 %w

唯时间与逻辑不可改变 1022

高分思路!挑战7天完成一篇网状meta DAY1-7

PASSION!继续析挑战,7天完成一篇网状meta分!

MR_SCI_help的博客 787

Python+Appium实现泛微OA自动打卡:5分钟搭建移动端自动化脚本

移动端自动化测试是软件测试与办公自动化领域的重要技术方向,其核心原理是通过程序模拟用户对手机应用界面的操作,实现重复性任务的自动执行。Appium作为主流的开源移动端自动化框架,基于WebDriver协议,支持跨平台且无需修改被测应用,为自动化脚本开发提供了标准化接口。在工程实践中,结合Python简洁的语法和丰富的生态,可以快速构建稳定可靠的自动化解决方案。这一技术组合的价值在于能够高效处理“重复性、低价值、高频率”的日常操作,例如考勤打卡、数据填报等办公场景,显著提升工作效率。本文以泛微OA Emobi

weixin_28836875的博客 391

Lua的闭包详解(终于搞懂了)

词法定界:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界 table.sort(names,functin (n1,n2) return grades[n1]>grades[n2] end) //内部匿名函数可以访问外部函数的n1,n2 第一类值:lua当中函数是一个值,他可以存在变量中,可以...

weixin_34119545的博客 850

华为OD机试双机位C卷-流水线(Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 流水线,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 流水线。

qq_45776114的博客 2267

lua日期与时间操作

os.time() <== 返回当前系统的日历时间os.date() <== 返回本地化的时间字符串,这里是"11/28/08 17:23:37"os.date("%x", os.time()) <== 返回自定义格式化时间字符串(完整的格式化参数),这里是"11/28/08"os.clock()...

aibulie0537的博客 1048

【Qt图书管理系统】5.完整版源码及下载地址

Qt图书管理系统完整源码下载。

小鱼酱的博客 7003

华为OD机试 新系统真题 【数字系统转换器】

华为OD机试 新系统真题【数字系统转换器】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【数字系统转换器】多语言题解。

qq_45776114的博客 542

44. 通配符匹配 - lua实现

给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。 来源:力扣(LeetCode) 链接...

汐客SeaKr的博客 1542

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

lua中正则表达式的坑

我在使用OpenResty编写lua代码时,需要使用到lua的正则表达式,其中pattern是这样的,--热水器设置时间 local s = '12:33' local pattern = "(20|21|22|23|[01][0-9]):([0-5][0-9])" local matched = string.match(s, "(20|21|22|23|[01][0-9]):([0-5][0-...

雪峰流云 3813

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Lua中的正则表达式

Lua中的正则表达式 正则表达式由元字符按照规则(语法)组成。lua中的特殊字符是%.^$+-*?,一共12个。它们和一般字符按规则构成了lua的正则表达式。 元字符 描述 表达式实例 完整匹配的字串 字符 普通字符 除去%.[]()^$*+-?的字符,匹配字符本身 Kana Kana .

xiejunna的博客 5万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

lua日期时间字符解析

lua日期时间字符解析 由于日期格式的多样式,日期字符的解析很难通过正则表达式来统一处理,例如:格式1是“2021-06-05 18:12:05 ”,格式2是“2021/06/05”, 两种格式有差别,解析起来特别麻烦, 为此写了一个解析方法,基本到满足大部分的日期格式需求,如不满足可在此基础上修改。 解析字符需要符合以下格式: 2021-06-05 18:12:05 (符号"-"可以是除了冒号的任意符号) 2021/06/05 18:12:05 21-06-05 18:12:05 21/06/05

peterzeng的博客 1027

Lua的日期和时间

Lua的日期和时间 1. os.time 单纯的调用os.time()会返回一个时间戳,这个时间戳并不是我们日常使用的时间。所谓的时间戳,就是现在的时间距离1970年1月1日的秒数。 print(os.time()) --- 1635088147 除此之外,os.time还支持反向转换 day = { year = 2021, month = 10, day = 24, hour = 23, min = 8, sec = 22 } time = os.time(day) print(time) ---

johnny_love_1968的博客 2039

LUA日期和时间

LUA日期和时间

u012080441的专栏 4809

lua学习笔记之日期时间

有两种表现形式,一种是通过数字,另外一种方式是通过日期表:year,month,day,hour,min,sec.wday,yday,isdst 1、函数 1.1 os.time print(os.time()) local date = os.time() local day2year = 365.242 local sec2hour = 3600 local sec2day = sec2hour * 24 local sec2year = sec2day * day2year print(da

多看多听多总结 1205

Lua获取指定时间时间戳【判断是否过了某一个时间点】

Lua获取指定时间时间戳【判断是否过了某一个时间点】 好久没更新了,练个手 最近项目里面在做一个活动的时间刷新逻辑,每到凌晨5点刷新一下当日的购买次数,这里写一下利用时间戳来判断时间是否在***凌晨5点之前打开了购买面板然后凌晨5点以后点击购买所带来的一个小问题*** 直接上代码 -- 获取的时间戳是服务器同步时间戳 --进来第一步先走这里 function GetFormatTime() ...

qq_41752435的博客 2535
上一篇: 《Lua程序设计第4版》读书笔记--Lua基本语法
下一篇: 《Lua程序设计(第4版)》面向对象(Object-Oriented)编程
glfxml
博客等级 码龄19年 18粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值