Perl常用数学函数
- 格式:docx
- 大小:15.50 KB
- 文档页数:2
perl 时间函数摘要:1.Perl 时间函数概述2.Perl 时间函数的分类3.Perl 时间函数的具体使用方法4.Perl 时间函数的实例应用5.Perl 时间函数的优缺点分析正文:【1.Perl 时间函数概述】Perl 时间函数是一组在Perl 编程语言中用于处理时间相关操作的函数。
它们可以帮助开发者获取当前时间、格式化时间、计算时间差等。
在Perl 中,时间函数主要被用于处理Unix 时间戳、日历时间等。
【2.Perl 时间函数的分类】Perl 时间函数主要可以分为以下几类:1.获取当前时间:如time() 函数。
2.格式化时间:如strftime() 函数。
3.计算时间差:如time delta() 函数。
4.解析时间戳:如localtime() 函数。
5.转换时间格式:如strptime() 函数。
【3.Perl 时间函数的具体使用方法】以下是一些常用的Perl 时间函数的具体使用方法:1.time() 函数:用于获取当前时间的时间戳,即从1970 年1 月1 日00:00:00 到当前时刻的秒数。
使用方法:`my $timestamp = time();`2.strftime() 函数:用于将时间戳格式化为可读的字符串。
使用方法:`my $formatted_time =strftime("%Y-%m-%d %H:%M:%S", $timestamp);`3.time delta() 函数:用于计算两个时间戳之间的时间差。
使用方法:`my $time_difference = time delta($timestamp1, $timestamp2);`4.localtime() 函数:用于将时间戳转换为包含本地时间信息的数组。
使用方法:`my @local_time = localtime($timestamp);`5.strptime() 函数:用于将字符串格式的时间转换为时间戳。
AutoLisp函数一、数学运算功能函数1.l(十数值数值…)返回:累计实数或整数数值1.2(一数值数值…)返回:差值1.3(* 数值数值…)返回:所有数值乘积1.4(/ 数值数值…)返回:第一个数值除以第二个以后数值的商1.5(l十数值)返回:数值十ll、 6(1—数值)返回:数值一ll.7(abs 数值)返回:数值的绝对值1.8(atan 数值)返回:反正切值1.9(cos 角度)返回:角度的余弦值,角度值为弧度1.10(exp 数值)返回:数值的指数1.11(expt 底数指数)返回:底数的指数值1.12(fix 数值)返回:将数值转换为整数值1.14(gcd 数值1 数值2)返回:两数值的最大公因数1.15(log 数值)返回:数值的自然对数值1.16(max 数值数值…)返回:数值中的最大值1.17(min 数值数值…)返回:数值中的最小值1.18 pi 常数∏,其值约为3.14159261.19(rem 数值 1数值 2)返回:M数值的相除的余数l.20(sin 角度)返回:角度的正旋值,角度值为弧度1.21(sqrt 数值)返回:数值的平方根二、检验与逻辑运算功能函数2.l(= 表达式1 表达式2)比较表达式1就是否等于式2,适用数值及字符串2.2 (/= 表达式1 表达式2)比较表达式1就是否大于等于表达式22.3(<表达式1 表达式2) 比较表达式1就是否<小于表达式22.4(<= 表达式1 表达式2)比较表达式1就是否<一小于等于表达式22.5(>表达式1 表达式2) 比较表达式1就是否>大于表达式22.6(>= 表达式1 表达式2) 比较表达式1就是否大于等于表达式22.7 (~数值)返回:数值的位 not值,(1的补码)2.8 (and 表达式1 表达式2…)返回:逻辑and的结果2.9(boole 函数整数整数…)返回:位式布尔运算AutoLisp函数2/82.10(eq 表达式1 表达式2)比较表达式1与表达式2就是否相同,适用列表比较(实际相同)2.11(equal 表达式 1表达式 2[差量])比较表达式 1与表达式 2就是否相同,差量可省略(内容相同)三、转换运算功能函数3.l(angtof 字符串[模式])返回:角度值的字符串转成实数3.2(angtos 角度[模式[精度]])返回:角度转成的字符串值3.3(atof 字符串)返回:字符串转成实数值3.4 (atoi 字符串)返回:字符串转成整数值3.5 (cvunit 数值原始单位转换单位)返回:数值转换单位后的值转换根据acad.nut文件3.6(distof 字符串[模式])返回:根据模式将字符串转成实数值3.7(itoa 整数)返回:整数转成字符串3.8(rtos 数值模式[精度])返回:实数转成字符串3.9 (trans 点原位置新位置[位移]) 返回:转换坐标系统值四、列表处理功能函数4.1 (append 列表列表……) 结合所有列表成一个列表4.2(assoc 关键元素联合列表)根据关键元素找寻联合列表中关系信息4.3 (car 列表)返回列表中的第一个元素,通常用来求X坐标4.4(cadr 列表)返回列表中的第二个元素,通常用来求y坐标4.5(caddr 列表)返回列表中的第三个元素,通常用来求Z坐标4.6(cdr 列表)返回:除去第一个元素后的列表4.7(cons 新元素列表)返回:将新元素添加到列表4.8(foreach 名称列表表达式)返回:将列表的每一元素对应至名称再根据表达式执行响应4.9(length 列表)返回:列表内的元素数量4.10(list 元素元素…)返回:将所有元素合并为一列表4.11(listp 元素)返回:判断元素就是否为一串4.12(mapcar函数列表1列表2…)返回:将列表1、列表2列表的元素配合函数,求得新列表4.13(member 关键元素列表)返回:根据关键元素(含似后的列表4.14(nth n 列表)返回:列表的第n个元素AutoLisp函数3/84.15(reverse 列表)返回:将列表元素根据顺序颠倒过来的列表4.16(subst 新项旧项列表)返回:替换新旧列表后的列表五、字符串、字符、文件处理函数5.l(ascii 字符串)返回:字符串第一个字符的“ASCII”码5.2 (chr 整数)返回:整数所对应的ASCII单一字符串5.3(close 文件名称)关闭文件5.4(open 文件名模式)返回:打开文件代码,准备读取或写入信息5.5(read 字符串)返回:列表中的字符串的第一组元素5.6(read-char[文件代码])返回:通过键盘或文件中读取单一字符5.7(read-line [文件代码])返回:经由键盘或文件中读取一行字符串5.8(strcase 字符串[字样])返回:转换字符串大小写5.9(strcat 字符串1字符串2…)返回:将各字符串合并为一个字符串5.10(strlen 字符串)返回:字符串构成的字符数(即字符串长度)5.11(substr 字符串起始长度)返回:取出于字符串‘5.12(wcmatch 字符串格式)返回:T或 nil,将字符串与通用字符进行比较5.13(write-char数值[文件代码])返回:将一ASCII字符写到文件或屏幕 15.14(write-line字符串[文件代码])返回:将字符串写到文件或屏幕上六、等待输入功能函数6.l (getangle [基点] [提示])请求输入十进制角度数值,响应一个弧度值提示及参考点可有可无6.2(getcorner 基点[提示])请求输入另一矩形框对角点坐标 6.3(getdist [基点][提示])请求输入一段距离6.4(getint [提示])请求输入一个整数值6.5(getkword [提示]请求输入“关键词”6.6(getorient [基点][提示])请求输入十进制角度,响应一弧度值不受angbase、angdir影响6.7(getPoint [基点][提示])请求输入一个点的坐标6.8(getreal [提示]请求输入一个实数6.9(getstring [提示])请求输入一个字符串6.10(initget [位]字符串)设定下次getxxx函数的有效输入七、几何运算功能函数7.l(angle 点1 点2)取得两点的角度弧度值7.2(distance 点1 点2)取得两点的距离7.3(inters 点1 点2 点3 点 4[模式])取得两条线的交点7.4(osnap 点模式字符串)按照捕捉模式取得另一坐标点7.5(polar 基点弧度距离)按照极坐标法取得另一坐标点7、6(textbox 对象列表)取得文字字符串的两个对角点坐标八、对象处理功能函数8.l(entdel 对象名称)删除或取消删除对象8.2(entget 对象名称[应用程序列表])取出对象名称的信息列表8.3 (entlast) 取出图形信息中的最后一个对象8.4(entmake 对象列表)建立一个新的对象列表8.5(entmod 对象列表)根据更新的信息列表更新屏幕上元体8.6(entnext [对象名称])找寻图面中的下一个对象8.7(entsel [提示])请求选取一个对象,响应包含对象名称及选点坐标的列表;8.8(entupd 对象名称)更新屏幕上复元体图形8.9(handent 图码)返回:图码的元体名称8.10(nentsel[提示])返回:BLOCK所含副元体对象信息列表8.11(nentselp [提示][点])返回:BLOCK所含副元体对象信息似4*4矩形表示)九、选择集、符号表处理函数9.l(ssadd [对象名称][选择集])将对象加入选择集或建立一新选择集9.2(ssdel 对象名称选择集)将对象自选择集中移出9.3(ssget [模式][点 1][点 2]取得一个选择集9.4(ssget ”X” [过滤列表])取得根据过滤列表所指定范围的选择集9.5(sslenth 选择集)计算选择集的对象个数9.6(ssmemb 对象名称选择集)响应对象名称就是否包含于选择集内9.7(ssname 选择集索引值)根据索引值取出选择集中的对象名称9.8(tblnext 符号表名称[T])检视符号表,有效的符号表:”LAYER”、”LTYPE”、”VIEW”、”STYLE”、”BLOCK”9.9(tblsearch 符号表名称符号)在符号表中搜寻符号十、AutoCAD相关查询、控制功能函数10.l(command ”AutoCAD命令”…)超重量级函数,调用执行 AutoCAD命令AutoLisp函数5/810.2(findfile 文件名)返回:该文件名的路径及文件名10.3(getfiled 标题内定档名扩展名旗号)通过标准 AutoCAD文件对话 DCL对话框获得文件10.4(getenv ”环境变量”)取得该环境变量的设定值,以字符串表示10.5(getvar ”系统变量”)取得该系统变量的设定值,以字符串表示10.6(setvar ”系统变量”值)设定该系统变量的值10.7(regapp 应用类项)将目前的AutoCAD图形登记为一个应用程序名称十一、判断式、循环相关功能函数11.1(If <比较式><表达式1> [表达式2] 检算比较式结果,如果为真,执行<表达式1>,否则执行<表达式2>11.2( repeat 次数 [< 表达式><表达式>…])重复执行 N次表达式11.3(While <比较式><表达式>…) 当条件成立则执行表达式内容11.4(cond <比较式 1><表达式 1>多条件式的 if整合功能<比较式2><表达式2><比较式3><表达式3>)11.5 ( prong 表达式1 表达式2…) 连接其中的表达式为一组,常用于配合if、cond等函数十二、函数处理、定义、追踪与错误处理功能函数12.l(*error* 字符串)程序错误时的警示信息12.2(alert 字符串)以对话框式显示出警告字符串12.3(apply 功能函数列表)将功能函数与列表结合后执行12.4(defun 名称自变量列表表达式_.)自定函数或子程序12.5(eval 表达式)返回:表达式的执行结果12.6(exit)强制退出目前的应用程序12.7(lambda 自变量表达式)定义未命名的函数12.8(progn 表达式1 表达式2…)连接其内的表达式为一组,常用于配合if、cond等函数12.9(quit)强制退出目前的应用程序12.10(tablet 代码 [列1列2列3方向])取用或建立对数字板的校调12.11(trace 函数…)对函数设定追踪标记,辅助检错12.12(untrace 函数…)对函数设定解除追踪标记AutoLisp函数6/8十三、显示、打印控制功能函数13.l(gfaphscr)作图环境切换到图形画面13.2(grclear)暂时清除模前的屏幕画面13.3(grdraw起点终点颜色[亮显])暂时性的画出一条线13.4(grread[追踪])由输入设备读取追踪值13.5(grtext位置字符串[亮显])将字符串显示在状态列或屏幕菜单上13.6(grvecs向量列表[转置矩阵])暂时性的画出多条线13.7(menucmd字符串);提供在 AlltOLISP中调用各菜单13.8(Prinl[表达式[文件代码]]将表达式打印于命令区或已打开的文件句柄字符则以“\”为前缀展开13.9(pinc[表达式[文件代码]]除句柄字符则不以”\”为前缀展外开其余同Prinl13.10(print[表达式[文件代码]]除表达式会往下一新行列出,及空一格外其余同prinl13.11(prompt信息)将信息显示于屏幕的命令区,并随后响应一个nil信息13.12(redraw[对象名称[模式]])重绘整张图或根据对象名称重绘该图形13.13(terpri) 在屏幕上显示新列13.14(textscr) 作图环境切换到文字画面13.15(textpage)清除文字画面文字类似 DOS的cls命令13.16(vports)返回:窗口组态列表十四、符号、元素、表达式处理功能函数14.l(atom元素)如果元素不就是列表,响应T,否则为nil14.2(atoms-family格式闲号列表])返回:一组己定义函数的符号列表14.3(boundp表达式)返回:T或 nil,响应表达式就是否有值存在14.4(minusp元素)返回:T或n儿元素就是否为负值14.5(not元素)返回:T或n儿判定元素就是否为ni114.6(null元素)返回:T或nil判定元素就是否被赋予nil值14.7(numberp元素)返回:T或nil,元素就是否为整数或实数14.8(quote表达式)响应表达式未检算前状态,同“‘”功能14.9(set符号表达式)将表达式结果设定给带单引号’符号14.10(setq符号1 表达式1[符号2表达式2]…)设定表达式结果给各符号14.11(type元素)返回:元素的信息型态14.12(zerop元素)返回:T或nil,元素就是否为0值十五、ADS、ARX、AutoLISP加载与卸载函数AutoLisp函数7/815.l(ads)返回:目前加载ADS程序列表15.2(arx)返回:目前加载 ARX程序列表15.3(arxload应用程序[出错处理]))返回:加载 ARX程序15.4(arxunload应用程序[出错处理]))返回:卸载 ARX程序15.5(ver) 返回:目前 AutoLISP版本字符串15.6(load LSP文件名[加载失败])加载 AutoLISP文件(*.lsp)15.7 (xload应用程序[错处理])加载ADS应用程序15.8 (xunloa应用程序[出错处理])卸载 ADS应用程序十六、内存空间管理函数16.l(alloc数值)以节点数值设定区段大小16.2(expand数值)以区段数值配置节点空间16.3(gc)强制收回废内存16.4(mem)显示目前的内存使用状态16.5(xdroom对象名称)返回对象扩展信息允许使用的内存空间16.6(xdsize列表)返回对象扩展信息所占用的内存空间十七、其它重要的功能函数17.l(acad_colordlg 颜色码旗号)显示出标准 AutoCAD颜色选择对话框17.2(acad_helpdlg 求助文件名主题)显示出标准 AutoCAD求助对话框17.3(acad_strlsort字符串列表)作字符串列表排序17.4(bherrs) 取得 bhatch与 bpcly失败所产生的错误信息17.5(bhatch点[选择集[向量]])根据 Pick point选点方式调用 bhatch命令,绘制选集区域的剖面线17.6(bpoly点[选择集[向量]])根据Pick point选点方式调用bpoly命令并产生一定域Polyline17.7(cal计算式字符串)执行如 CAL计算功能十八、ADS、ARX外部定义的3D函数18、1(align自变量 1 自变量 2....)执行如 ALIGN命令各选项顺序18.2(c:3dsin模式3DS文件名)导入3DS文件18.3(C:3dsout模式3DS文件名)输出3DS文件18.4(c:background模式[选项])设定渲染背景18.5(C:fog模式[选项])设定渲染的雾效果18.6(C:light模式[选项])设定渲染的灯光控制18.7(c:lsedit模式【选项1】设定渲染的景物控制18.8(C:lslib模式[选项])管理景物图库18.9(c:matilb模式材质材质库名)管理材质数据库18.10(c:mirror3d 自变量1 自变量2……)执行如MIRROR3D命令18.11(C:psdrap模式)根据模式设定值(0或1),传唤psdrap命令18.12(C:psfill对象名称图案名称[自变量1[自变量2]])以POStSCript图案填满18.13(c:psin文件名位置比例)插入一个Postscript(*.eps)文件18.14(c:render[渲染文件])执行渲染效果18.15(C:r格式自变量1 自变量2 自变量3…)设定执行渲染选项18.16(c:replay影像文件名影像类别[选项])展示影像文件TGA、BMP、TIF18.17(C:rmat模式选项)控管材质建立、贴附、编辑、分离18.18(c:rotate3d自变量 1 自变量2…)执行如 ROTATE3D命令各选项顺序18.19(C:rpref模式选项[设定])渲染环境设定18.20(c:saveimg影像文件名影像类别[选项])储存图像文件TGA、BMP、TIF18.21 (c:scene模式 [选项]) SCENE场景管理18.22(C:setuv模式选集自变量1 自变量2…)SETUV贴图模式管理18.23(C:showmat自变量1)显示对象的材质贴附信息18.24(C:solprof自变量 1 自变量工..)建立 3D实体的轮廓影像18.25(C:StatS[渲染信息文件])显示渲染信息统计信息十九、ADS、ARX 外部定义的数据库相关函数19.l(c:aseadmin自变量1 自变量2…)管理外部数据库19.2(c:aseexportt自变量1 自变量2…)输出信息19.3 (c:aselinks自变量1 自变量2…)连接对象与信息19.4(c:aserow自变量1 自变量2…)管理外部信息表格19.5(c:aseselect自变量1 自变量2…)建立外部信息与对象选集19.6 (c:asesqled自变量 1 自变量2…) 执行SQL程序。
目录[隐藏]∙ 1 Perl数学模块及其相关软件∙ 2 语法比较∙ 3 评测∙ 4 应用范例一直都有人问讨论有关于 Perl 与数学的问题。
有时候一些 perl 玩家问如何使用 perl 做一些高级数学的工作。
另一方面,一些数学家又反过来问如何利用perl 来帮助完成他们本身的工作。
所以,现在我提供一些方便的参考文献,比较和说明一些常用的 perl 数学模块,以及对 perl 有用的软件。
它并不是完整的Perl数学编程手册,而只是对于一些常用的数学模块和软件的简要综述。
我忽略了 bioperl 以及生物信息学的内容,因为他们涵盖范围太广,无法简单地称之为“数学”。
一般来说,如果你在 CPAN 上搜索与数学相关的模块,那么你应该从以下关键字入手: Math::×, Statistics::×,以及 AI:: ,Algorithm::, Cript::,Date::, Graph::, GraphViz::, Inline::,等等。
GNU项目也是寻找 perl 扩展模块的好地方。
Perl数学模块及其相关软件以下列举了一些有关于数学的 perl 模块及软件:语法比较我们来比较一下这些模块和软件的语法。
我们以运算一个2×2矩阵与一个向量的乘积为例,以下是它们各自的语法。
仅就数学上来说,以上这些模块和软件的语法看起来都相当简洁。
不过 Octave 和 R 比 perl 还是要好懂的多了。
许多数学语言的一个突出特点是它们的“向量操作”以及“下标操作”。
具个例子来讲,例如现在我们要从一个矩阵中,提取一个子矩阵。
向量的串行运算是一个非常不错的功能. 考虑一下下面的有关于 R 的源码:> vec = 1:10> vec[1] 1 2 3 4 5 6 7 8 9 10> vec %% 2[1] 1 0 1 0 1 0 1 0 1 0> vec[vec %% 2 == 1][1] 1 3 5 7 9> vec[vec %% 2 == 1] + 1[1] 2 4 6 8 10我们刚才在前面也提到了 Pari,但它只是一个自成体系的模块。
perl脚本基础总结1. 单引号字符串中的\n不会被当做换⾏符处理。
如:'\'\\' --> '\ 。
2. 双引号字符串联 "Hello"."World"."\n" --> HelloWrold 换⾏;字符串重复操作 "fred"×3 --> "fredfredfred";⼤⼩写 "\l","\L" --> ⼩写 ; "\u","\U" --> ⼤写 ; "\E" 结束。
3. 字符串运算== eq 相等!= ne 不等< lt ⼩于> gt ⼤于<= le ⼩于或等于>= ge ⼤于或等于4. ⽤户输⼊ <STDIN>5. chomp函数:去掉⽂本的"\n"换⾏符。
读写⽂件时,要去掉换⾏符。
如:chomp($text<STDIN>);6. 单⾏注释:# ; 多⾏注释以 "=pod"开始,"=cut" 结束。
7. undef:没有值时,表现为0或空字符串。
8. defined函数:为undef时,返回false,其余返回true。
9. x 输出遍数。
如:print "love" x 3 -->lovelovelove.10. 特殊数组索引:"$#rocks" ,最后⼀个元素索引。
11. qw简写,代替 "" 功能。
如:qw(freds bany wilad dino);12. @rocks=qw /break slasle labv/; #给数组赋值。
@copy=@qwarry; #将⼀个数组拷贝到另⼀个数组⾥。
1 基本输入输出在 BASH 脚本程序中,我们用 read var 来实现从键盘的输入,用 echo $var 来实现输出。
那么在 Perl 中将有一点变化。
Perl 中将标准输入用关键词表示;标准输出用表示,标准错误输出用表示。
故而从标准输入读取数据可以写成:$var=; # 读取一行输入,并存入变量 $var 中。
@var=; # 读取多行输入,并存入数组 @var 中。
在 Perl 语言中,变量 $_ 是许多操作符的缺省变量。
因此如果需要读入许多行并对每行分别处理一般这样写:while($_=){chop($_); # chop 调用用于去掉 $_ 变量中的最后一个字符(换行符)。
# 处理$_(每一行)}或者可以简写为:while(){chop; # 等同于chop($_)# 处理$_(每一行)}如果 <> 括号之间没有任何字符,则表示从命令行所指示的文件中读取数据,看下面这个例子(read.pl):#!/usr/bin/perl;while(<>){print $_;}如果在命令行输入 $ perl read.pl read.pl 。
这个程序将在屏幕上打印出文件 read.pl 的每一行。
在前面的例子中我们已经看见,Perl 语言中向标准输出输出数据可以用 print 语句。
我们在 print 语句中可以输出多个变量,变量之间用 "," 分隔开来。
如下面的例子:print 3,45*2,"hello",2+2;上面的输出语句将给出 "390hello4" 的输出结果。
除了 print 语句以外,Perl 中还提供了一个 printf 语句用于标准输出,不过 printf 更接近于 C 语言的 printf 函数,可以进行格式化的输出,如:printf "%10s% 8d%8.2f\n",$a,$b,$c;printf("%10s% 8d%8.2f\n",$a,$b,$c); # 加上括号的 C 语言写法也是可以的。
perlsprintf()函数详解下面内容摘自:sprintf()函数返回一个格式化字串,格式化习惯是C 的库函数sprintf 的是 printf 习惯。
用法如下:1.sprintf FORMAT, LISTFORMAT 包含一个带有嵌入的域指示符的文本,LIST 里的元素就是逐一替换到这些域中去的。
sprintf 的格式:域含义%% 一个百分号%c 一个带有给定数字的字符%s 一个字串%d 一个有符号整数,十进制%u 一个无符号整数,十进制%o 一个无符号整数,八进制%x 一个无符号整数,十六进制%e 一个浮点数,科学记数法表示%f 一个浮点数,用固定的小数点表示保留两位小数 %.2f%g 一个浮点数,以 %e 或 %f 表示另外,Perl 允许下列广泛支持的转换:域含义%x 类似 %x,但使用大写字符%E 类似 %e,但使用大写的“E”%G 类似 %g,但是带一个大写的“E”(如果正确的话)%b 一个无符号整数,二进制%p 一个指针(输出十六进制的 Perl 值的地址)%n 特殊:把到目前为止输出的字符数放到参数列表中的下一个变量里最后,为了向下兼容(我们的意思就是“向下”),Perl 允许下列不必要的但广泛支持的转换:域含义%i %d 的同义词%D %ld 的同义词%U %lu 的同义词%O %lo 的同义词%F %f 的同义词Perl 允许下列众所周知的标志出现在 % 和转换字符之间:域 | 含义|space 用空格前缀正数+ 用加号前缀正数- 在域内左对齐- 用零而不是空格进行右对齐# 给非零八进制前缀“0”,给非零十六进制前缀“0x”number 最小域宽度.number “精度”:浮点数的小数点后面的位数字串最大长度。
整数最小长度l | | 把整数解释成 C 类型的 long 或者 unsigned long|h 把整数解释成 C 类型的 short 或者 unsigned short(如果没有提供标志,那么把整数解释成 C 类型 int 或者 unsigned)还有两个 Perl 相关的标志域含义V 把整数解释成 Perl 标准的整数类型v 把字串解释成一个整数向量,输出成用点分隔的数字,或者是用任意参数列表里前面带 * 的字串分隔如果你的 Perl 理解“四倍数”(64位整数),不管是该平台本机支持还是因为你指明 Perl 带着该功能编译,那么字符 d u o x X b i D U O 打印64位整数,并且它们前面可以选择前缀 ll, L,或则 q。
Perl数学函数名sin
调用语法
retval=sin(value);
参数为弧度值。
Perl数学函数名cos
调用语法
retval=cos(value);
参数为弧度值。
Perl数学函数名atan2
调用语法
retval=atan2(value1,value2);
运算并返回value1除以value2结果的arctan值,单位为弧度,范围在-PI~PI。
应用例:
角度转化成弧度子程序。
subdegrees_to_radians{
local($degrees)=@_;
local($radians);11:
$radians=atan2(1,1)*$degrees/45;
}
Perl数学函数名sqrt
调用语法
retval=sqrt(value);
平方根函数。
value为非负数。
Perl数学函数名exp
调用语法
retval=exp(value);
返回e的value次方。
Perl数学函数名log
调用语法
retval=log(value);
以e为底的自然对数。
Perl数学函数名abs
调用语法
retval=abs(value);
绝对值函数。
(Perl4中没有)
Perl数学函数名rand
调用语法
retval=rand(num);
随机数函数,返回0和整数num之间的一个浮点数。
Perl数学函数名srand
调用语法
srand(value);
初始化随机数生成器。
保证每次调用rand真正随机。
Perl函数返回值用法指导
Perl函数返回值用法指导
本文和大家重点讨论一下Perl函数返回值的概念,在Perl中,return语句可以返回一个标量值或者一个列表,这个标量值可以是一个变量,或者一个表达式的最后求值。
在Perl中,return语句可以返回一个标量值或者一个列表,这个标量值可以是一个变量,或者一个表达式的最后求值,如:return1;<===>return(1);return$a+$b;<===>return($a+$b);
然后,一个Perl函数的返回值,并不止一个,有的时候会有多个值需要返回,这是就要用到列表,这个列表可以包含多个变量值。
一、单一变量的Perl函数返回值
二、多个标量的Perl函数返回值
三、数组的Perl函数返回值
中的列表是被“铺平(flattened)的”,也就是说:return(@var_a,@var_b);<====等价===>return($var_a[0],$var_a[1],$var_b[0],$var_b[1]);
所以这个时候,return将会把returnlist里面的值,和接受returnlist里面的变量一一对应起来,当遇到数组是表示接受所有值。
所以,解决这个问题就需要使用引用,如:
所以对于哈希变量的返回也可以做同样的处理,当有标量,数组,哈希变量一起混合使用的时候也应该做同样的处理。
数据库常⽤函数⼀、数学函数abs(x) 返回x的绝对值bin(x) 返回x的⼆进制(oct返回⼋进制,hex返回⼗六进制)ceiling(x) 返回⼤于x的最⼩整数值exp(x) 返回值e(⾃然对数的底)的x次⽅floor(x) 返回⼩于x的最⼤整数值greatest(x1,x2,...,xn)返回集合中最⼤的值least(x1,x2,...,xn) 返回集合中最⼩的值ln(x) 返回x的⾃然对数log(x,y)返回x的以y为底的对数mod(x,y) 返回x/y的模(余数)pi()返回pi的值(圆周率)rand()返回0到1内的随机值,可以通过提供⼀个参数(种⼦)使rand()随机数⽣成器⽣成⼀个指定的值。
round(x,y)返回参数x的四舍五⼊的有y位⼩数的值sign(x) 返回代表数字x的符号的值sqrt(x) 返回⼀个数的平⽅根truncate(x,y) 返回数字x截短为y位⼩数的结果⼆、聚合函数(常⽤于group by从句的select查询中)avg(col)返回指定列的平均值count(col)返回指定列中⾮null值的个数min(col)返回指定列的最⼩值max(col)返回指定列的最⼤值sum(col)返回指定列的所有值之和group_concat(col) 返回由属于⼀组的列值连接组合⽽成的结果三、字符串函数ascii(char)返回字符的ascii码值bit_length(str)返回字符串的⽐特长度concat(s1,s2...,sn)将s1,s2...,sn连接成字符串concat_ws(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并⽤sep字符间隔insert(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的⼦串替换为字符串instr,返回结果find_in_set(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置lcase(str)或lower(str) 返回将字符串str中所有字符改变为⼩写后的结果left(str,x)返回字符串str中最左边的x个字符length(s)返回字符串str中的字符数ltrim(str) 从字符串str中切掉开头的空格position(substr in str) 返回⼦串substr在字符串str中第⼀次出现的位置quote(str) ⽤反斜杠转义str中的单引号repeat(str,srchstr,rplcstr)返回字符串str重复x次的结果reverse(str) 返回颠倒字符串str的结果right(str,x) 返回字符串str中最右边的x个字符rtrim(str) 返回字符串str尾部的空格strcmp(s1,s2)⽐较字符串s1和s2trim(str)去除字符串⾸部和尾部的所有空格ucase(str)或upper(str) 返回将字符串str中所有字符转变为⼤写后的结果四、⽇期和时间函数curdate()或current_date() 返回当前的⽇期curtime()或current_time() 返回当前的时间date_add(date,interval int keyword)返回⽇期date加上间隔时间int的结果(int必须按照关键字进⾏格式化),如:selectdate_add(current_date,interval 6 month);date_format(date,fmt) 依照指定的fmt格式格式化⽇期date值date_sub(date,interval int keyword)返回⽇期date加上间隔时间int的结果(int必须按照关键字进⾏格式化),如:selectdate_sub(current_date,interval 6 month);dayofweek(date) 返回date所代表的⼀星期中的第⼏天(1~7)dayofmonth(date) 返回date是⼀个⽉的第⼏天(1~31)dayofyear(date) 返回date是⼀年的第⼏天(1~366)dayname(date) 返回date的星期名,如:select dayname(current_date);from_unixtime(ts,fmt) 根据指定的fmt格式,格式化unix时间戳tshour(time) 返回time的⼩时值(0~23)minute(time) 返回time的分钟值(0~59)month(date) 返回date的⽉份值(1~12)monthname(date) 返回date的⽉份名,如:select monthname(current_date);now() 返回当前的⽇期和时间quarter(date) 返回date在⼀年中的季度(1~4),如select quarter(current_date);week(date) 返回⽇期date为⼀年中第⼏周(0~53)year(date) 返回⽇期date的年份(1000~9999)⼀些⽰例:获取当前系统时间:select from_unixtime(unix_timestamp());select extract(year_month from current_date);select extract(day_second from current_date);select extract(hour_minute from current_date);返回两个⽇期值之间的差值(⽉数):select period_diff(200302,199802);在mysql中计算年龄:select date_format(from_days(to_days(now())-to_days(birthday)),'%y')+0 as age from employee;这样,如果brithday是未来的年⽉⽇的话,计算结果为0。
perl 正则表达式例题当然可以!以下是一些使用 Perl 正则表达式的例题:1. 匹配数字:```perl$string = "我有100个苹果和20个香蕉";if ($string =~ /(\d+)/) {print "匹配到的数字是: $1\n";}```输出:```匹配到的数字是: 100```2. 匹配邮箱地址:```perl$email = "";if ($email =~ /([a-zA-Z0-9_-]+[a-zA-Z0-9_-]+\.[a-zA-Z]{2,})/) { print "匹配到的邮箱地址是: $1\n";}```输出:```匹配到的邮箱地址是:```3. 匹配日期格式:YYYY-MM-DD```perl$date = "今天是";if ($date =~ /(\d{4})-(\d{2})-(\d{2})/) {print "匹配到的年份是: $1, 月份是: $2, 日期是: $3\n";}输出:```yaml匹配到的年份是: 2023, 月份是: 07, 日期是: 19```4. 替换字符串中的内容:```perl$text = "我喜欢吃苹果和香蕉";$new_text = $text =~ s/苹果/桃子/;print $new_text; 输出: 我喜欢吃桃子和香蕉```这些例题可以帮助你理解 Perl 正则表达式的使用方法和功能。
当然,Perl 正则表达式还有更多高级的用法和技巧,你可以查阅相关资料或参考 Perl 的官方文档来深入学习。
perl函数集一、进程处理函数1、进程启动函数2、进程终止函数3、进程控制函数4、其它控制函数二、数学函数三、字符串处理函数四、标量转换函数五、数组和列表函数六、关联数组函数一、进程处理函数1、进程启动函数函数名eval调用语法eval(string)解说将string看作Perl语句执行。
正确执行后,系统变量$@为空串,如果有错误,$@中为错误信息。
例子$print = "print (\"hello,world\\n\");";eval ($print);结果输出hello, world函数名system调用语法system(list)解说list中第一个元素为程序名,其余为参数。
system启动一个进程运行程序并等待其结束,程序结束后错误代码左移八位成为返回值。
例子@proglist = ("echo", "hello,world!");system(@proglist);结果输出hello, world!函数名fork调用语法procid = fork();解说创建程序的两个拷贝--父进程和子进程--同时运行。
子进程返回零,父进程返回非零值,此值为子程序的进程ID号。
例子$retval = fork();if ($retval == 0) {# this is the child processexit; # this terminates the child process} else {# this is the parent process}结果输出无函数名pipe调用语法pipe (infile, outfile);解说与fork合用,给父进程和子进程提供通信的方式。
送到outfile文件变量的信息可以通过infile文件变量读取。
步骤:1、调用pipe2、用fork将程序分成父进程和子进程3、一个进程关掉infile,另一个关掉outfile例子pipe (INPUT, OUTPUT);$retval = fork();if ($retval != 0) {# this is the parent processclose (INPUT);print ("Enter a line of input:\n");$line = <STDIN>;print OUTPUT ($line);} else {# this is the child processclose (OUTPUT);$line = <INPUT>;print ($line);exit (0);}结果输出$programEnter a line of input:Here is a test lineHere is a test line$函数名exec调用语法exec (list);解说与system类似,区别是启动新进程前结束当前程序。
perl基本语法介绍本文介绍从变量类型、操作运算符、控制叙述、子程序、I/O和档案处理、RegularE某preion、SpectialVariable、Help、函数、总结几个部分介绍perl,只是叙述了一些Perl的基本语法一.数据类型(Datatype):Perl的数据类型大致分为四种:Scalar(变量)、ScalarArray(数组)、HahArray(散列)、Reference(指针),看起来虽少但用起来却绰绰有余。
尤其在写Perl程序时可以不必事先宣告变量,这一点对刚学程序语言的人甚为方便,不过为了以后程序除错和维护方便,我建议你还是养成事先声明变量的习惯比较好。
1Scalar(纯量变量):纯量变量是Perl里最基本的一种数据型态,它可以代表一个字符、字符串、整数、甚至浮点数,而Perl把它们都看成是一样的东东!你甚至可以混着用,不可思议吧。
例如:#井字号开头的后面都是批注。
#纯量变数以$开头。
#my是一种宣告变量的方式,它可以使变量区域化。
#宣告变量时若不加my或local则Perl会把它当作全域变量使用。
#习惯上,我们会将字符串用双引号括起来,而数值就不用加引号。
my$某=\my$某=123;my$某=4.56;1-1常用的操作运算符1)、算术运算符+(加)、-(减)、某(乘)、/(除)、某某(幂)、%(余)、-(负)(1)求幂(某某)结果不能超出数的范围。
当指数为小数时,底数不能为负数,例如:25某某1.5=125,(-25)某某1.5=(不成立)(2)取余(%)操作数为整数,否则要截取。
第二个数不能为0(因为除数不能为0)(3)负(-)-$a=$a某(-1)此外,注意当一个字符串参加运算,需要转化为整数时,如果不能转化为整数则值为0。
例如:'2'+1=3,'a'+1=12)、数字比较运算符(大于)、==(等于)、<=(小于等于)、>=(大于等于)、!=(不等于)、<=>(比较)(1)==:比较运算,比较的结果为真或非零,假或零(2)<=>:比较运算例如:$a<=>$b,当$a>$b时,值为1;当$a(3)自动把操作数转化为整数,不能转化为整数则为0(4)浮点数不精确,不要把值相近的数比较,否则得到的结果是出乎意料的3)、字符串比较运算符lt(小于)、gt(大于)、eq(等于)、le(小于等于)、ge(大于等于)、ne(不等于)、cmp(比较)(1)字符串的比较原则:按照字母表的顺序比较,数字后z与c进行比较)(3)当一个串是另一个的前缀时,长度长的为大。
1.操作符描述lt 小于gt 大于e q 等于le小于等于g e 大于等于ne 不等于cmp 比较,返回1, 0, or -1 2.逻辑或:$a || $b 或$a or$b逻辑与:$a &&$b 或$a an d $b逻辑非:! $a或 no t $a逻辑异或:$axor $b3.表达式等效表达式$a = 1; none (bas ic as signm ent)$a -= 1;$a =$a -1;$a *=2; $a = $a * 2;$a/= 2; $a = $a / 2; $a %= 2; $a = $a % 2;$a **=2; $a = $a ** 2;$a &= 2; $a= $a& 2;$a |= 2;$a =$a |2;$a ^=2; $a = $a ^ 2;4.字符串联结和重复操作符联接: .重复:x联接且赋值(类似+=): .=例:$news tring = "p otato" . "head";$newst ring= "t" x 5;$a = "b e"; $a .= "wi tched"; #$a is now"bewi tched"5.条件操作符与C中类似,条件?值1:值2,当条件为真时取值1,为假时取值2,如:$resu lt =$var== 0? 14: 7;$re sult= 43+ ($d iviso r ==0 ? 0 : $d ivide nd /$divi sor);PE RL 5中,还可以在赋值式左边使用条件操作符来选择被赋值的变量,如: $co ndvar == 43 ? $var1: $va r2 =14; $con dvar== 43 ? $v ar1 = 14 : $var2 = 14;6.数组--列表的存贮列表存贮于数组变量中,与简单变量不同,数组变量以字符"@"打头,如: @a rray= (1, 2, 3);7.$var= <ST DIN>;@arra y = <STDIN>; #^D为结束输入的符号8.数组的输出:(1) @array = (1, 2,3); pr int (@arra y, "\n");(2) @array = (1, 2,3); pr int ("@arr ay\n");结果为:1 2 3sca lar()获得数组的元素个数9.列表/数组的长度当数组变量出现在预期简单变量出现的地方,则PERL解释器取其长度。
1. 获取用户输入:2. chomp操作符作用:去除字符串后面的换行符3. 注释:# 注释4. 数组的最后一个值的索引:在变量中加一个#所以数组的个数就是$#rock + 15. 列表赋值6. 创建数组:@name引用的时候:$name[]数组的赋值:7. 数组尾部操作:Push和pop数组头部操作:Unshift(插入)和shift(取出)8. splice操作符可以对数组中的任意位置进行插入和删除操作。
它可以接受4个变量第一个变量是数组名,第二个变量是起始索引,第三变量是长度,第四个变量是补充数组。
二个参数:删除后面全部三个参数,设定删除的长度:四个参数:设定插入的东西9. 标量内插到字符串中:数组也可以内插到字符串中,在内插过程中,会添加空格10. foreach使用默认值,不使用变量:11. reverse操作符:用于将次序变反12. sort操作符用于对数组进行排序13. 对数组使用each操作符:Each可以用于提取哈希的键值,这样也同时可以提取数组的序号和数值。
use 5.012;这样写主要是想用 say如果不用each,需要实现的过程如下:14. 上下文:所谓上下文就是返回的值是根据需要进行返回的。
15清空数组:15. 子程序定义:sub name {};调用子程序:&+子程序名如果我们不写return,照样可以返回,主要是这样写除了返回,没有任何意义。
如果没有明显返回值,就是返回1传递参数:在子程序调用的时候,可以直接写参数,系统会自动将自动将参数保存到$_[]数组中,然后在子程序中可以直接调用$_[0],$_[1]来获得参数。
16. 子程序的私有变量My +定义私有变量用my定义的私有变量可以用在很多地方,比如在for循环中的i我们就可以定义为局部私有变量。
17. use strict可以使的Perl更加严格这不报错,但这就报错,报出的错误是:也就是说不能轻易的用全局变量,应该像上面那样用my修饰,或者是因为你写错了,应该用上面那个已经定义过的变量。
AutoLisp函数一、数学运算功能函数1.l(十数值数值…)返回:累计实数或整数数值1.2(一数值数值…)返回:差值1.3(*数值数值…)返回:所有数值乘积1.4(/数值数值…)返回:第一个数值除以第二个以后数值的商1.5(l十数值)返回:数值十ll.6(1—数值)返回:数值一ll.7(abs数值)返回:数值的绝对值1.8(atan数值)返回:反正切值1.9(cos角度)返回:角度的余弦值,角度值为弧度1.10(exp数值)返回:数值的指数1.11(expt底数指数)返回:底数的指数值1.12(fix数值)返回:将数值转换为整数值1.14(gcd数值1数值2)返回:两数值的最大公因数1.15(log数值)返回:数值的自然对数值1.16(max数值数值…)返回:数值中的最大值1.17(min数值数值…)返回:数值中的最小值1.18pi常数∏,其值约为3.14159261.19(rem数值1数值2)返回:M数值的相除的余数l.20(sin角度)返回:角度的正旋值,角度值为弧度1.21(sqrt数值)返回:数值的平方根二、检验与逻辑运算功能函数2.l(=表达式1表达式2)比较表达式1是否等于式2,适用数值及字符串2.2(/=表达式1表达式2)比较表达式1是否大于等于表达式22.3(<表达式1表达式2)比较表达式1是否<小于表达式22.4(<=表达式1表达式2)比较表达式1是否<一小于等于表达式22.5(>表达式1表达式2)比较表达式1是否>大于表达式22.6(>=表达式1表达式2)比较表达式1是否大于等于表达式22.7(~数值)返回:数值的位not值,(1的补码)2.8(and表达式1表达式2…)返回:逻辑and的结果2.9(boole函数整数整数…)返回:位式布尔运算AutoLisp函数2/82.10(eq表达式1表达式2)比较表达式1与表达式2是否相同,适用列表比较(实际相同)2.11(equal表达式1表达式2[差量])比较表达式1与表达式2是否相同,差量可省略(内容相同)三、转换运算功能函数3.l(angtof字符串[模式])返回:角度值的字符串转成实数3.2(angtos角度[模式[精度]])返回:角度转成的字符串值3.3(atof字符串)返回:字符串转成实数值3.4(atoi字符串)返回:字符串转成整数值3.5(cvunit数值原始单位转换单位)返回:数值转换单位后的值转换根据acad.nut 文件3.6(distof字符串[模式])返回:根据模式将字符串转成实数值3.7(itoa整数)返回:整数转成字符串3.8(rtos数值模式[精度])返回:实数转成字符串3.9(trans点原位置新位置[位移])返回:转换坐标系统值四、列表处理功能函数4.1(append列表列表……)结合所有列表成一个列表4.2(assoc关键元素联合列表)根据关键元素找寻联合列表中关系信息4.3(car列表)返回列表中的第一个元素,通常用来求X坐标4.4(cadr列表)返回列表中的第二个元素,通常用来求y坐标4.5(caddr列表)返回列表中的第三个元素,通常用来求Z坐标4.6(cdr列表)返回:除去第一个元素后的列表4.7(cons新元素列表)返回:将新元素添加到列表4.8(foreach名称列表表达式)返回:将列表的每一元素对应至名称再根据表达式执行响应4.9(length列表)返回:列表内的元素数量4.10(list元素元素…)返回:将所有元素合并为一列表4.11(listp元素)返回:判断元素是否为一串4.12(mapcar函数列表1列表2…)返回:将列表1、列表2列表的元素配合函数,求得新列表4.13(member关键元素列表)返回:根据关键元素(含似后的列表4.14(nth n列表)返回:列表的第n个元素AutoLisp函数3/84.15(reverse列表)返回:将列表元素根据顺序颠倒过来的列表4.16(subst新项旧项列表)返回:替换新旧列表后的列表五、字符串、字符、文件处理函数5.l(ascii字符串)返回:字符串第一个字符的“ASCII”码5.2(chr整数)返回:整数所对应的ASCII单一字符串5.3(close文件名称)关闭文件5.4(open文件名模式)返回:打开文件代码,准备读取或写入信息5.5(read字符串)返回:列表中的字符串的第一组元素5.6(read-char[文件代码])返回:通过键盘或文件中读取单一字符5.7(read-line[文件代码])返回:经由键盘或文件中读取一行字符串5.8(strcase字符串[字样])返回:转换字符串大小写5.9(strcat字符串1字符串2…)返回:将各字符串合并为一个字符串5.10(strlen字符串)返回:字符串构成的字符数(即字符串长度)5.11(substr字符串起始长度)返回:取出于字符串‘5.12(wcmatch字符串格式)返回:T或nil,将字符串与通用字符进行比较5.13(write-char数值[文件代码])返回:将一ASCII字符写到文件或屏幕15.14(write-line字符串[文件代码])返回:将字符串写到文件或屏幕上六、等待输入功能函数6.l(getangle[基点][提示])请求输入十进制角度数值,响应一个弧度值提示及参考点可有可无6.2(getcorner基点[提示])请求输入另一矩形框对角点坐标6.3(getdist[基点][提示])请求输入一段距离6.4(getint[提示])请求输入一个整数值6.5(getkword[提示]请求输入“关键词”6.6(getorient[基点][提示])请求输入十进制角度,响应一弧度值不受angbase、angdir 影响6.7(getPoint[基点][提示])请求输入一个点的坐标6.8(getreal[提示]请求输入一个实数6.9(getstring[提示])请求输入一个字符串6.10(initget[位]字符串)设定下次getxxx函数的有效输入七、几何运算功能函数7.l(angle点1点2)取得两点的角度弧度值7.2(distance点1点2)取得两点的距离7.3(inters点1点2点3点4[模式])取得两条线的交点7.4(osnap点模式字符串)按照捕捉模式取得另一坐标点7.5(polar基点弧度距离)按照极坐标法取得另一坐标点7.6(textbox对象列表)取得文字字符串的两个对角点坐标八、对象处理功能函数8.l(entdel对象名称)删除或取消删除对象8.2(entget对象名称[应用程序列表])取出对象名称的信息列表8.3(entlast)取出图形信息中的最后一个对象8.4(entmake对象列表)建立一个新的对象列表8.5(entmod对象列表)根据更新的信息列表更新屏幕上元体8.6(entnext[对象名称])找寻图面中的下一个对象8.7(entsel[提示])请求选取一个对象,响应包含对象名称及选点坐标的列表;8.8(entupd对象名称)更新屏幕上复元体图形8.9(handent图码)返回:图码的元体名称8.10(nentsel[提示])返回:BLOCK所含副元体对象信息列表8.11(nentselp[提示][点])返回:BLOCK所含副元体对象信息似4*4矩形表示)九、选择集、符号表处理函数9.l(ssadd[对象名称][选择集])将对象加入选择集或建立一新选择集9.2(ssdel对象名称选择集)将对象自选择集中移出9.3(ssget[模式][点1][点2]取得一个选择集9.4(ssget”X”[过滤列表])取得根据过滤列表所指定范围的选择集9.5(sslenth选择集)计算选择集的对象个数9.6(ssmemb对象名称选择集)响应对象名称是否包含于选择集内9.7(ssname选择集索引值)根据索引值取出选择集中的对象名称9.8(tblnext符号表名称[T])检视符号表,有效的符号表:”LAYER”、”LTYPE”、”VIEW”、”STYLE”、”BLOCK”9.9(tblsearch符号表名称符号)在符号表中搜寻符号十、AutoCAD相关查询、控制功能函数10.l(command”AutoCAD命令”…)超重量级函数,调用执行AutoCAD命令AutoLisp 函数5/810.2(findfile文件名)返回:该文件名的路径及文件名10.3(getfiled标题内定档名扩展名旗号)通过标准AutoCAD文件对话DCL对话框获得文件10.4(getenv”环境变量”)取得该环境变量的设定值,以字符串表示10.5(getvar”系统变量”)取得该系统变量的设定值,以字符串表示10.6(setvar”系统变量”值)设定该系统变量的值10.7(regapp应用类项)将目前的AutoCAD图形登记为一个应用程序名称十一、判断式、循环相关功能函数11.1(If<比较式><表达式1>[表达式2]检算比较式结果,如果为真,执行<表达式1>,否则执行<表达式2>11.2(repeat次数[<表达式><表达式>…])重复执行N次表达式11.3(While<比较式><表达式>…)当条件成立则执行表达式内容11.4(cond<比较式1><表达式1>多条件式的if整合功能<比较式2><表达式2><比较式3><表达式3>)11.5(prong表达式1表达式2…)连接其中的表达式为一组,常用于配合if、cond 等函数十二、函数处理、定义、追踪与错误处理功能函数12.l(*error*字符串)程序错误时的警示信息12.2(alert字符串)以对话框式显示出警告字符串12.3(apply功能函数列表)将功能函数与列表结合后执行12.4(defun名称自变量列表表达式_.)自定函数或子程序12.5(eval表达式)返回:表达式的执行结果12.6(exit)强制退出目前的应用程序12.7(lambda自变量表达式)定义未命名的函数12.8(progn表达式1表达式2…)连接其内的表达式为一组,常用于配合if、cond等函数12.9(quit)强制退出目前的应用程序12.10(tablet代码[列1列2列3方向])取用或建立对数字板的校调12.11(trace函数…)对函数设定追踪标记,辅助检错12.12(untrace函数…)对函数设定解除追踪标记AutoLisp函数6/8十三、显示、打印控制功能函数13.l(gfaphscr)作图环境切换到图形画面13.2(grclear)暂时清除模前的屏幕画面13.3(grdraw起点终点颜色[亮显])暂时性的画出一条线13.4(grread[追踪])由输入设备读取追踪值13.5(grtext位置字符串[亮显])将字符串显示在状态列或屏幕菜单上13.6(grvecs向量列表[转置矩阵])暂时性的画出多条线13.7(menucmd字符串);提供在AlltOLISP中调用各菜单13.8(Prinl[表达式[文件代码]]将表达式打印于命令区或已打开的文件句柄字符则以“\”为前缀展开13.9(pinc[表达式[文件代码]]除句柄字符则不以”\”为前缀展外开其余同Prinl 13.10(print[表达式[文件代码]]除表达式会往下一新行列出,及空一格外其余同prinl13.11(prompt信息)将信息显示于屏幕的命令区,并随后响应一个nil信息13.12(redraw[对象名称[模式]])重绘整张图或根据对象名称重绘该图形13.13(terpri)在屏幕上显示新列13.14(textscr)作图环境切换到文字画面13.15(textpage)清除文字画面文字类似DOS的cls命令13.16(vports)返回:窗口组态列表十四、符号、元素、表达式处理功能函数14.l(atom元素)如果元素不是列表,响应T,否则为nil14.2(atoms-family格式闲号列表])返回:一组己定义函数的符号列表14.3(boundp表达式)返回:T或nil,响应表达式是否有值存在14.4(minusp元素)返回:T或n儿元素是否为负值14.5(not元素)返回:T或n儿判定元素是否为ni114.6(null元素)返回:T或nil判定元素是否被赋予nil值14.7(numberp元素)返回:T或nil,元素是否为整数或实数14.8(quote表达式)响应表达式未检算前状态,同“‘”功能14.9(set符号表达式)将表达式结果设定给带单引号’符号14.10(setq符号1表达式1[符号2表达式2]…)设定表达式结果给各符号14.11(type元素)返回:元素的信息型态14.12(zerop元素)返回:T或nil,元素是否为0值十五、ADS、ARX、AutoLISP加载与卸载函数AutoLisp函数7/815.l(ads)返回:目前加载ADS程序列表15.2(arx)返回:目前加载ARX程序列表15.3(arxload应用程序[出错处理]))返回:加载ARX程序15.4(arxunload应用程序[出错处理]))返回:卸载ARX程序15.5(ver)返回:目前AutoLISP版本字符串15.6(load LSP文件名[加载失败])加载AutoLISP文件(*.lsp)15.7(xload应用程序[错处理])加载ADS应用程序15.8(xunloa应用程序[出错处理])卸载ADS应用程序十六、内存空间管理函数16.l(alloc数值)以节点数值设定区段大小16.2(expand数值)以区段数值配置节点空间16.3(gc)强制收回废内存16.4(mem)显示目前的内存使用状态16.5(xdroom对象名称)返回对象扩展信息允许使用的内存空间16.6(xdsize列表)返回对象扩展信息所占用的内存空间十七、其它重要的功能函数17.l(acad_colordlg颜色码旗号)显示出标准AutoCAD颜色选择对话框17.2(acad_helpdlg求助文件名主题)显示出标准AutoCAD求助对话框17.3(acad_strlsort字符串列表)作字符串列表排序17.4(bherrs)取得bhatch与bpcly失败所产生的错误信息17.5(bhatch点[选择集[向量]])根据Pick point选点方式调用bhatch命令,绘制选集区域的剖面线17.6(bpoly点[选择集[向量]])根据Pick point选点方式调用bpoly命令并产生一定域Polyline17.7(cal计算式字符串)执行如CAL计算功能十八、ADS、ARX外部定义的3D函数18.1(align自变量1自变量2....)执行如ALIGN命令各选项顺序18.2(c:3dsin模式3DS文件名)导入3DS文件18.3(C:3dsout模式3DS文件名)输出3DS文件18.4(c:background模式[选项])设定渲染背景18.5(C:fog模式[选项])设定渲染的雾效果18.6(C:light模式[选项])设定渲染的灯光控制18.7(c:lsedit模式【选项1】设定渲染的景物控制18.8(C:lslib模式[选项])管理景物图库18.9(c:matilb模式材质材质库名)管理材质数据库18.10(c:mirror3d自变量1自变量2……)执行如MIRROR3D命令18.11(C:psdrap模式)根据模式设定值(0或1),传唤psdrap命令18.12(C:psfill对象名称图案名称[自变量1[自变量2]])以POStSCript图案填满18.13(c:psin文件名位置比例)插入一个Postscript(*.eps)文件18.14(c:render[渲染文件])执行渲染效果18.15(C:rfileopt格式自变量1自变量2自变量3…)设定执行渲染选项18.16(c:replay影像文件名影像类别[选项])展示影像文件TGA、BMP、TIF18.17(C:rmat模式选项)控管材质建立、贴附、编辑、分离18.18(c:rotate3d自变量1自变量2…)执行如ROTATE3D命令各选项顺序18.19(C:rpref模式选项[设定])渲染环境设定18.20(c:saveimg影像文件名影像类别[选项])储存图像文件TGA、BMP、TIF18.21(c:scene模式[选项])SCENE场景管理18.22(C:setuv模式选集自变量1自变量2…)SETUV贴图模式管理18.23(C:showmat自变量1)显示对象的材质贴附信息18.24(C:solprof自变量1自变量工..)建立3D实体的轮廓影像18.25(C:StatS[渲染信息文件])显示渲染信息统计信息十九、ADS、ARX外部定义的数据库相关函数19.l(c:aseadmin自变量1自变量2…)管理外部数据库19.2(c:aseexportt自变量1自变量2…)输出信息19.3(c:aselinks自变量1自变量2…)连接对象与信息19.4(c:aserow自变量1自变量2…)管理外部信息表格19.5(c:aseselect自变量1自变量2…)建立外部信息与对象选集19.6(c:asesqled自变量1自变量2…)执行SQL程序。
perl scalar函数Perl是一种功能强大的编程语言,它支持各种函数和数据类型,其中scalar函数是其中之一。
scalar函数是Perl中的一种数据类型,用于表示单个标量值。
它可以存储数字、字符串、布尔值或者引用(一个指向其他数据类型的指针),并且可以通过各种操作进行处理。
在Perl中,scalar函数可以用$符号来表示,例如$var。
这个变量可以存储一个标量值,并且可以使用各种运算符进行处理。
例如,可以使用加号运算符将两个scalar值相加,如$var1 + $var2。
scalar函数还可以用来表示字符串,这时候需要用引号将字符串括起来。
例如,$str = 'hello world' 就是将字符串'hello world'存储到$str变量中。
除了基本的数值和字符串操作,scalar函数还可以进行各种比较操作。
例如,可以使用比较运算符(==、!=、<、>、<=、>=)来比较两个scalar值的大小,或者使用eq运算符来比较两个字符串是否相等。
scalar函数还支持各种转换操作。
例如,可以将一个数值类型的scalar值转换成字符串类型的值,或者将一个字符串类型的值转换成数值类型的值。
转换函数包括int、hex、oct、chr、ord等。
在Perl中,scalar函数还有一个重要的用途,就是作为函数的返回值。
例如,一个函数可以返回一个scalar值,该值可以是数字、字符串或者一个引用。
总之,scalar函数是Perl语言中一个非常重要的数据类型,它可以用来存储各种类型的数据并进行各种操作。
无论是在编写Perl 脚本还是模块时,都需要使用scalar函数进行数据操作。
perl语言tr函数
在Perl语言中,`tr`函数用于字符替换或删除操作。
它接受两个参数:一个字符集和一个替换字符集。
字符集是一个字符串,其中包含要替换或删除的字符。
替换字符集也是一个字符串,其中包含用于替换或删除的字符。
下面是`tr`函数的基本语法:
```perl
$string =~ tr/字符集/替换字符集/;
```
其中,`$string`是要进行替换操作的字符串。
下面是一个示例,演示如何使用`tr`函数将字符串中的小写字母转换为大写字母:
```perl
$string = "hello world";
$string =~ tr/a-z/A-Z/;
print $string; 输出 "HELLO WORLD"
```
在这个例子中,`tr`函数将小写字母字符集`a-z`转换为大写字母字符集`A-Z`。
结果是将字符串中的所有小写字母替换为大写字母。
需要注意的是,`tr`函数是大小写敏感的,因此它将区分大小写进行替换操作。
如果要进行大小写不敏感的替换操作,可以使用正则表达式或其他字符串处理函数。
perl evv函数【实用版】目录1.介绍 perl 语言和 evv 函数2.evv 函数的功能和用法3.使用 evv 函数的实例4.evv 函数的优点和局限性正文1.介绍 perl 语言和 evv 函数perl 是一种高级编程语言,常用于文本处理、网络编程和系统管理等方面。
perl 语言的特点是简洁、易读、易学,并且具有强大的正则表达式处理能力。
在 perl 中,有很多内置函数可以方便地实现各种功能,evv 函数就是其中之一。
2.evv 函数的功能和用法evv 函数是 perl 中的一个数学函数,用于计算两个数的平均值。
它的功能类似于其他编程语言中的 average 函数。
evv 函数的语法如下:```$result = evv($num1, $num2,...);```其中,$num1、$num2 等表示要计算平均值的数字,可以是变量、数组元素或直接的数值。
evv 函数会返回计算结果,如果参数个数为偶数,则返回算术平均值,如果参数个数为奇数,则返回几何平均值。
3.使用 evv 函数的实例下面通过一个实例来说明如何使用 evv 函数计算平均值:```perl# 定义一个数组,包含 5 个整数my @numbers = (10, 20, 30, 40, 50);# 使用 evv 函数计算数组中整数的平均值my $average = evv(@numbers);# 输出结果print "数组中整数的平均值为:$average";```4.evv 函数的优点和局限性evv 函数的优点在于其简洁的语法和易于理解的功能,可以方便地实现数学计算中的平均值计算。
但是,evv 函数的局限性在于它只支持计算两个或两个以上数值的平均值,不支持计算单个数值的平均值。
Perl数学函数名sin
调用语法
retval=sin(value);
参数为弧度值。
Perl数学函数名cos
调用语法
retval=cos(value);
参数为弧度值。
Perl数学函数名atan2
调用语法
retval=atan2(value1,value2);
运算并返回value1除以value2结果的arctan值,单位为弧度,范围在-PI~PI。
应用例:
角度转化成弧度子程序。
subdegrees_to_radians{
local($degrees)=@_;
local($radians);11:
$radians=atan2(1,1)*$degrees/45;
}
Perl数学函数名sqrt
调用语法
retval=sqrt(value);
平方根函数。
value为非负数。
Perl数学函数名exp
调用语法
retval=exp(value);
返回e的value次方。
Perl数学函数名log
调用语法
retval=log(value);
以e为底的自然对数。
Perl数学函数名abs
调用语法
retval=abs(value);
绝对值函数。
(Perl4中没有)
Perl数学函数名rand
调用语法
retval=rand(num);
随机数函数,返回0和整数num之间的一个浮点数。
Perl数学函数名srand
调用语法
srand(value);
初始化随机数生成器。
保证每次调用rand真正随机。