• 《Programming in Lua 3》读书笔记(十四)


    日期:2014.7.22
    Programming in Lua 3 的第二部分已经看完了,现在进入第三部分:标准库的阅读

    PartⅢ     The Standard Libraries
    18 The Mathematical Library
    标准数学库
    math 库包含如三角函数(sin,cos,tan),取幂和对数(exp,log,log10),伪随机函数(random,randomseed)等。
    默认情况下,math库中的三角函数使用的是弧度制(radian),但是可以通过deg和rad函数在角度(degree)和弧度(radian)之前进行转换。而且可以通过重新定义三角函数实现使用角度制进行运算:

    e.g.
    do
         local sin,asin = math.sin,math.asin
         local deg,rad = math.deg,math.rad
         math.sin = function ( x )
              return sin(rad(x))
         end
         math.asin = function ( x )
              return deg(asin(x))
         end
    end

    使用do end 结构实现一个chunk,使现有的改动不影响其余地方对math库的影响。


    math.random函数的使用
    有三种使用方法:不带参数、带一个参数、带两个参数。
    1、不带参数

    --no param
    local a = math.random()
    print(a)          -- [0,1)之间的随机一个数

    不带参数的时候,该函数返回[0,1)之间的一个数

    2、带一个参数

    --one param
    a = math.random(6)
    print(a)          --[1,6] 之间的一个数

    带一个参数的时候,返回值为1至传递的参数直接的一个数

    3、两个参数

    --two param
    a = math.random(6,10)
    print(a)          --[6,10]

    返回两个参数之间(可等于)的随机数

    math.randomseed函数
    可以设置随机数种子,使得每次调用的随机数会依据种子的不同而产生不同的随机数,可控。如果不设置随机数,直接使用random函数,会使得每次运行程序得到的随机数为同一个随机数,而加入了随机数种子通过设置不同的种子便可以得到不同的随机数。通常将随机数种子设置为系统时间是一个不错的选择:
    math.randomseed(os.time())

  • 相关阅读:
    hdu 2082 找单词
    hdu 2079 选课时间(题目已修改,注意读题)
    hdu 2073 无限的路
    hdu 2062 Subset sequence
    poj 2777 Count Color
    hdu 2067 小兔的棋盘
    卡特兰数
    poj3468
    hdu1394
    hdu1166(线段树之单点更新)
  • 原文地址:https://www.cnblogs.com/zhong-dev/p/4044571.html
Copyright © 2020-2023  润新知