Lua的函数的定义、math数学函数

  • 定义函数

function [function name] (param1,param2)

    [function code]

--定义一个函数用来求的两个数字的和

function plus (num1,num2)

return num1+num2

end

res = plus(54,12)

print(res)

  • Lua内置提供了一些常用函数

  1.数学处理的math相关函数

  2.字符串处理的string 相关函数

  3.表处理的table相关函数

  4.文件操作的io相关函数

(1)数学运算函数

print(math.abs(-15))  --取绝对值

print(math.max(11,22,05,655,85)) --求最大的值

abs

取绝对值

math.abs(-15)

15

acos

反余弦函数

math.acos(0.5)

1.04719755

asin

反正弦函数

math.asin(0.5)

0.52359877

atan2

x / y的反正切值

math.atan2(90.0, 45.0)

1.10714871

atan

反正切函数

math.atan(0.5)

0.463647609

ceil

不小于x的最大整数

math.ceil(5.8)

6

cosh

双曲线余弦函数

math.cosh(0.5)

1.276259652

cos

余弦函数

math.cos(0.5)

0.87758256

deg

弧度转角度

math.deg(math.pi)

180

exp

计算以e为底x次方值

math.exp(2)

2.718281828

floor

不大于x的最大整数

math.floor(5.6)

5

fmod (mod)

取模运算

math.mod(14, 5)

4

frexp

把双精度数val分解为数字部分(尾数)和以2为底的指数n,即val=x*2n

math.frexp(10.0)

0.625    4

ldexp

计算value * 2的n次方

math.ldexp(10.0, 3)

80 = 10 * (2 ^3)

log10

计算以10为基数的对数

math.log10(100)

2

log

计算一个数字的自然对数

math.log(2.71)

0.9969

max

取得参数中最大值

math.max(2.71, 100, -98, 23)

100

min

取得参数中最小值

math.min(2.71, 100, -98, 23)

-98

modf

把数分为整数和小数

math.modf(15.98)

15    98

pow

得到x的y次方

math.pow(2, 5)

32

rad

角度转弧度

math.rad(180)

3.14159265358

random

获取随机数

math.random(1, 100)
math.random(100)

获取1-100的随机数

randomseed

设置随机数种子

math.randomseed(os.time())

在使用math.random函数之前必须使用此函数设置随机数种子

sinh

双曲线正弦函数

math.sinh(0.5)

0.5210953

sin

正弦函数

math.sin(math.rad(30))

0.5

sqrt

开平方函数

math.sqrt(16)

4

tanh

双曲线正切函数

math.tanh(0.5)

0.46211715

tan

正切函数

math.tan(0.5)

0.5463024

(2)字符串处理的相关函数

  • string.find() 函数用于在一个给定的目标字符串中搜索一个模式。最简单的模式就是一个单词,它只会匹配与自己完全相同的拷贝。当find找到一个模式后,它会返回两个值:匹配到的起始索引和结尾索引;如果没有找到任何匹配,它就返回nil

     eg:  local str = "Hello World"

    local i, j = string.find(str,"Hello") -- 返回Hello在str中的起始位置和终止位置

    print(i, j)

  • find的兄弟match函数,string.match与string.find非常相似,它也是用于在一个字符串中搜索一种模式。区别在于,string.match返回的是目标字符串中与模式相匹配的那部分子串,并不是该模式所在的位置。示例代码:

    local str = "Hello12345World"

    local subStr = string.match(str,"%d+")

    print(subStr) --结果为 12345

  • 比较全的字符串处理,如下图所示:

Eg: string = "mengmeng xia"     --替换字符串用 string.gsub
   newstring = string.gsub(string,"xia","da")
   print("The new string is",newstring)

(3)Lua所支持的所有字符类. 任意字符

    %s 空白符
    %p 标点字符
    %c 控制字符
    %d 数字
    %x 十六进制数字
    %z 代表0的字符
    %a 字母
    %l 小写字母
    %u 大写字母
    %w 字母和数字

(4)模式串中的特殊字符:

  ( ) . % + - * ? [ ^ $
  '%' 用作特殊字符的转义字符
  '%.' 匹配点;
  '%%' 匹配字符 '%'。

Lua的函数的定义、math数学函数、lua字符串的处理、lua支持的字符串类、模式串中的特殊字符_学习笔记04的更多相关文章

  1. [lua]紫猫lua教程-命令宝典-L1-01-08. math数学函数库

    L1[math]01. 取绝对值 L1[math]02. 三角函数 小知识:注意 lua下三角函数用的参数是弧度 而不是角度 弧度=角度*pi/180  -->弧度角度换算公式  lua的mat ...

  2. Sql Server函数全解<二>数学函数

    阅读目录 1.绝对值函数ABS(x)和返回圆周率的函数PI() 2.平方根函数SQRT(x) 3.获取随机函数的函数RAND()和RAND(x) 4.四舍五入函数ROUND(x,y) 5.符号函数SI ...

  3. Sql Server函数全解(二)数学函数

      数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数,三角函数(包括正弦函数,余弦函数,正切函数,余切函数).对数函数,随机函数等.在错误产生时,数学函数将返回空值null.本次介绍各种数学 ...

  4. [java学习笔记]java语言基础概述之函数的定义和使用&函数传值问题

    1.函数 1.什么是函数? 定义在类中的具有特定功能的一段独立小程序. 函数也叫做方法 2.函数的格式 修饰符   返回值类型    函数名(参数类型  形式参数1, 参数类型  形式参数2-) { ...

  5. MySql cmd下的学习笔记 —— 有关常用函数的介绍(数学函数,聚合函数等等)

    (一)数学函数 abs(x)              返回x的绝对值 bin(x)               返回x的二进制(oct返回八进制,hex返回十六进制) ceiling(x)      ...

  6. Mysql 数据库学习笔记04 函数

    一.创建自定义函数 * 使用自定义函数,可以返回字符串.整型.实数或者其他类型: create [aggregate] function 名称 (参数列表) return type begin //函 ...

  7. math数学函数

    Console.WriteLine("Math.Sign(12)--->{0})", Math.Sign(12)) Console.WriteLine("math. ...

  8. 【MySQL作业】MySQL函数——美和易思数学函数和控制流函数应用习题

    点击打开所使用到的数据库>>> 1.添加一条商品记录.  商品编码  goodsCode 商品名 goodsName 种类 category 单价 unitPrice 02005 夏 ...

  9. Javascript基础系列之(七)函数(定义和调运函数)

    函数是一个可以随时运行的语句,简单说,函数是完成某个功能的一组语句,它接受0或者多个参数. 函数的基本语法如下 function functionName([arg0,arg1,......argN] ...

随机推荐

  1. ZooKeeper的下载方法

    1.进入官网: https://zookeeper.apache.org/releases.html 2.进入服务器列表: http://www.apache.org/dyn/closer.cgi/z ...

  2. Clojure:导入lein项目到IntelliJ IDEA

    首先,我们需要先创建一个lein项目(废话..) lein new [项目名称] 然后生成Maven的pom.xml文件 cd [项目目录] lein pom 最后,在InteliJ IDEA中选择导 ...

  3. springmvc mybatis 分页插件 pagehelper

    springmvc mybatis 分页插件 pagehelper 下载地址:pagehelper 4.2.1 , jsqlparser 0.9.5 https://github.com/pagehe ...

  4. 什么是OTN交换?

    作者:Babak Samimi 大家不停地听到大数据的显著增长及其带来的全球运营商网络上流量的剧增. 比方.Qmee有一个有意思的infographic,在2013年捕捉了60秒的线上流量,其统计结果 ...

  5. C++开发人脸性别识别总结

    历时一个月,最终在昨天把<C++开发人脸性别识别总结>系列博客完毕了,第一篇博客发表在2015年12月29日,截止昨天2016年2月29日最后一篇完毕,去除中间一个月的寒假,正好一个月,首 ...

  6. kendo AutoComplete实现多筛选条件

    kendo autoComplete 原始情况下是不支持多筛选条件的 $("#autocomplete").kendoAutoComplete({ filter: "co ...

  7. C# 操作 INI 自己工作笔记(对文本框的操作)

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  8. hihocoder 1680 hiho字符串2 dp求方案数+递归

    我们定义第一代hiho字符串是"hiho". 第N代hiho字符串是由第N-1代hiho字符串变化得到,规则是: h -> hio i -> hi o -> ho ...

  9. Windows:Word,PPT,EXCEL com+组件配置

    本文所涉及到配置前提: 服务器必须安装Office套件(Word,PPT,Excel) 第一部分 Word Com+组件权限配置 1.cmd模式输入dcomcnfg 2.找到Microsoft Wor ...

  10. itext 生成pdf文档 小结(自己备忘)

    1.引入maven <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf& ...