lua工具库penlight--06数据(二)】的更多相关文章

列表压缩 列表压缩是以紧凑的方式通过指定的元素创建表.在 Python里,你可以说: ls = [x for x in range(5)]  # == [0,1,2,3,4] 在 Lua,使用pl.comprehension : > C = require('pl.comprehension').new() > = C ('x for x=1,10') () {1,2,3,4,5,6,7,8,9,10} C是一个函数,它将一个列表字符串编译成一个函数.在这种情况下,该函数有没有参数.考虑一个字…
lua的设计目标是嵌入式语言,所以和其它动态语言(如python.ruby)相比其自带的库缺少很多实用功能. 好在有lua社区有Penlight,为lua提供了许多强大的功能,接下来的几篇博客,我会简译Penlight的wiki. 目的 常有人说lua不带电池.因为lua的目标是可以运行在各种机器上的简洁语言,(有些机器甚至不 支持布尔系统).lua类似于操作系统内核(注:即不是完整的系统,只有基本功能),lua的作者 并没有把围绕lua开发完整的生态系统看做自己的职责.这是社区的角色. 软件设…
词法扫描 虽然 Lua 的字符串模式匹配是非常强大,但需要更强大的东西.pl.lexer.scan可以提供标记字符串,按标记机分类数字.字符串等. > lua -lpl Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio > tok = lexer.scan 'alpha = sin(1.5)' > = tok() iden    alpha > = tok() =       = > = tok() iden    sin…
这篇太长了,分了两部分.(这个是机器翻译之后我又校对了一下,以后的都这样,人工翻译太累了.) 读数据文件 首先考虑清楚,你的确需要一个自定义的文件读入器吗?如果是,你能确定有能力写好吗? 正确,稳健,快速,当如先得把第一项处理好. 在Unix世界里常见的数据文件夹是配置文件.在Java世界里也被叫做属性文件. # Read timeout in seconds read.timeout=10 # Write timeout in seconds write.timeout=10 下面是简单的Lu…
执行一系列的参数 类型说明符也可以 是' ('MIN '..' MAX)' 的形式. local lapp = require 'pl.lapp' local args = lapp [[ Setting ranges <x> (1..10)  A number from 1 to 10 <y> (-5..1e6) Bigger range ]] print(args.x,args.y) 下面的意思是大与或等于 MIN 和小于或等于MAX :没有规定强制参数必须是整数. 类型说明符…
类Python的List lua的优美之处在于把数组和关联数组都用table实现了(Python中叫list和dict,C++中叫vector和map). 一般我们把数字索引的table叫做list.penlight里的List模仿了Python,看起来从Python借鉴是个好主意. 下面是一个List的例子,List实现了__tostirng,因此可以输出自己.  ) ),},}{,,,},){,,,,} ,,,} )  ) true > = l:reverse()  ---> note: …
函数编程 序列 Lua 迭代器 (最简单的形式) 是一个函数,可以多次调用返回一个或多个值.for in语句理解迭代器和循环,直到该函数将返回nil. Lua有标准的序列迭代器 (ipairs和pairs) , io.lines是返回文件中的所有行的迭代器.在的Penlight库中,这种迭代器也称为序列.单个值 (比如从io.lines ) 的序列称为单值,由pairs定义的序列是双值. pl.seq提供一些有用的迭代器和一些操作序列的函数.乍一看本示例尝试在Lua写里 Python (有序列)…
模块化和粒度 在理想的世界,一个程序应该只加载它需要的库.Penlight需要额外100 Kb 的字节码来工作.它是简单但却乏味要加载你需要什么: local data = require 'pl.data' local List = require 'pl.List' local array2d = require 'pl.array2d' local seq = require 'pl.seq' local utils = require 'pl.utils' 这是我在Penlight里一直…
额外的库 在这一节中的库不再被认为是Penlight的核心部分,但在需要时,仍提供专门的功能. 简单的输入的模式 Lua 的字符串模式匹配是非常强大,通常您将不需要传统的正则表达式库.即便如此,有时 Lua 代码结束看上去像 Perl,因为字符串模式不容易阅读,尤其是对普通读者而言.这段代码需要了解三种不同的日期格式: -- parsing dates using Lua string patterns months={Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6, J…
使用路径 程序不应该依赖于奇葩的系统,这样你的代码会难以阅读和移植.最糟糕的是硬编码的路径, windows和Unix的路径分隔符正好相反.最好使用path.join,它可以帮助你解决这个问题. pl.path提供了与Python中os.path里相同的功能. > p = 'c:\\bonzo\\DOG.txt'  > = path.normcase (p)  ---> only makes sense on Windows c:\bonzo\dog.txt > = path.sp…
字符串提取函数 这些方法也是从Python借鉴来的,但索引从1开始.stringx定义了一些函数如isalpha和isdigit, 用来判断字母和数字:startswith和endswith可以方便用来查找子串(endswith可以用来判断后缀 ,如f:endswith{'.bat','.exe','.cmd'}):还有对齐方法just和除去空白符的strip.  > stringx.import() > ('bonzo.dog'):endswith {'.dog','.cat'} true…
创建和显示时间 Date类提过了简洁的使用date和time的方法.它依赖于os.date和os.time. Date对象可以通过table创建,如果os.date,同时提过了获取和设置date 成员变量的元方法. > d = Date {year = 2011, month = 3, day = 2 } > = d 2011-03-02 12:00:00 > = d:month(),d:year(),d:day()  3    2011    2 > d:month(4) >…
luna工具库 概述 luna库提供了几个lua开发的常见辅助功能: lua/c++绑定 lua序列化与反序列化 变长整数编码,用于lua序列化,当然也可以方便的用于其他场合 这里把代码编译成了动态库,由于代码非常简单,实际使用时也可以简单的复制文件到自己的工程.lua_archiver引用了lz4库用于数据压缩(lz4.h+lz4.c). lua/c++绑定库(luna.h, luna.cpp)支持Windows, Linux, macOS三平台,默认的luna.h实现需C++14支持.如果编…
爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍 伪装浏览器.IP限制.登陆.验证码(CAPTCHA) 1.爬虫 Http请求和Chrome 访问一个网页http://kaoshi.edu.sina.com.cn/college/scorelist?tab=batch&wl=1&local=2&batc…
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出Excel为Lua/Json/Xml实例教程(三):终极需求 一.什么是xlrd xlrd是python语言中读取excel的扩展工具,可以实现指定表单.指定单元格的读取. 二.安装xlrd 官网安装:到python官…
JHChart(最新版本1.1.0) 好吧,的确当前的github上已经存有不少的iOS图表工具库,然而,当公司的项目需要图表时,几乎没有哪个第三方能够完全满足我的项目需求.无奈之下,本人不得不花费一些时间造轮子. 起先,我只打算写一些折线图和饼状图来满足我的项目需求,没想到的是,我将写好的图表放到github上后,有一些朋友告诉我他们想要更多的样式,实在不忍心告诉他们我的图标库到此为止了,所以我就陆陆续续的写了其他的图表样式.截止本文发布,JHChart已经发布了4个版本,每次发布的都添加的不…
本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 最新内容请关注 Android开源项目汇总及搜索.对你有帮助的话,去知乎点个赞让更多人了解:Android 优秀开源项目及特效推荐. Android开源项目系列汇总已完成,包括: Android开源项目第一篇--个性化控件(View)篇Android开源项目第二篇--工具库篇And…
本文为那些不错的Android开源项目第二篇——开发工具库篇,**主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他**. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优…
对应于百度前端技术学院2015年春季的课程2相关内容 https://github.com/baidu-ife/ife/tree/master/2015_spring/task/task0002 http://sso.portal.unicom.local/eip_sso/ssoLogin.html?appid=np000&success=http%3A%2F%2Fwww.portal.unicom.local%2Fuser%2Ftoken&error=http%3A%2F%2Fwww.p…
一.依赖注入DI 通过依赖注入降低View.服务.资源简化初始化.事件绑定等反复繁琐工作 AndroidAnnotations(Code Diet) android高速开发框架 项目地址:https://github.com/excilys/androidannotations 文档介绍:https://github.com/excilys/androidannotations/wiki 官网网址:http://androidannotations.org/ 特点:(1) 依赖注入:包含view…
一.axios Vue更新到2.0之后宣告不再对vue-resource更新,推荐使用axios,axios是一个用于客户端与服务器通信的组件,axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端javaScript工具.通俗来说可以实现客户端请求服务器端提供的服务获得数据. 源码与帮助:https://github.com/axios/axios 服务器端跨域支持请查看:http://www.cnblogs.com/best/p/6196202.html#_l…
MongDB .Net工具库MongoRepository的简单使用 最近研究了一下MongoDB数据库,并使用了开源的在.net环境下的一个类库,Mongo仓库.对于数据的一些简单的操作非常好用,特记录供后期参考. 具体的使用过程如下: 一.新建项目,在Nuget上获取库. 二.在配置文件中设置数据库地址 三.新建数据实体,并继承Entity,定义需要的字段 四.注意常见的几种字段属性的使用 [BsonElement("reName")]   用来重命名数据库中字段的名称. [Bso…
在Android开发中,我们不免会遇到使用一些工具库来简化我们的工具代码的编写,以下是本人之前star的开源项目,供大家参考: 一.android_testsuite 项目地址:https://github.com/renhui/android_testsuite Android开发工具之app遍历 提供了查找相同UID应用和便利所有应用的功能,如下图: (如果想了解Android的UID机制,可以看手机操作系统知识整理(二):Android UID 机制) 二.CommonLibrary 项目…
[转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceManager解析二进制资源文件 小看RESX资源文件的Designer.cs文件 返回目录 程序集清单资源 在程序集中嵌入资源的最简单方法是什么?那就是使用Visual Studio中的“嵌入式资源(Embedded Resource)”创建选项,相当于使用csc的”/resource”参数.具体步…
javascript之 JavaScript 工具库jQuery 目录: 一.查找标签和事件绑定以及操作标签的对比 二.DOM对象和jquery的转换 三.$(document).ready( )  四.链式操作 五.元素的操作:取值和赋值 六.元素的操作:移动 七.工具方法 八.特殊效果 一.查找标签和事件绑定以及操作标签的对比 1.查找标签的对比*** (1)原生javascript document.getElementsByClassName("classname");//根据…
一.科学计算或矩阵运算库 科学计算包: JMathLib是一个用于计算复杂数学表达式并能够图形化显示计算结果的Java开源类库.它是Matlab.Octave.FreeMat.Scilab的一个克隆,但完全采用纯Java实现. JSci:Java 科学对象(JSci)开放源代码项目是 Durham(英国 Durham)大学粒子理论中心的三年级研究生 Mark Hale 创立的.JSci 是一个包集合,包含数学和科学类. 使用 JSci,您既可以在 AWT 中也可以在 Swing 中创建简单的条形…
一.前言 在介绍Java SE 8中新的日期时间库前,先了解下Java 8之前的日期时间工具的诟病. 在Java SE 8前,日期时间工具库在java.util包中,包括: java.util.Date:表示日期和时间 java.util.Calendar以及其实现子类:表示各种日历系统,常用的是格林威治日历java.util.GregorianCalendar java.util.TimeZone以及其实现子类:表示时区偏移量和夏令时 以及辅助其进行格式化和解析的工具库在java.text包中…
一.什么是lodash? lodash库是一个具有一致接口.模块化.高性能等特性的 JavaScript 工具库. lodash是一个javascript库,也是Node JS的常用模块,它内部封装了诸多对字符串.数组.对象等常见数据类型的处理函数,其中部分是目前 ECMAScript 尚未制定的规范,但同时被业界所认可的辅助函数. 二.lodash相关文档 API文档: https://www.html.cn/doc/lodash/ 三.lodash模块组成 Array,适用于数组类型,比如填…
本文对应脚本已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们平时在数据可视化或空间数据分析的过程中经常会需要某个地区的道路网络及节点数据,而OpenStreetMap就是一个很好的数据来源(譬如图1柏林路网): 图1 通常我们可以在 https://www.openstreetmap.org/export 中选择矩形区域内的路网矢量数据进行下载,但这种方式对选择区域的大小有一定限制,想获取较大范围区域…
本文作者:Yunying 原文链接:https://www.cnblogs.com/BOHB-yunying/p/11856178.html 导航: 2.漏洞练习平台 WebGoat漏洞练习平台: https://github.com/WebGoat/WebGoat webgoat-legacy漏洞练习平台: https://github.com/WebGoat/WebGoat-Legacy zvuldirll漏洞练习平台: https://github.com/710leo/ZVulDrill…