【数学库】数学库(math)由一组标准的数学函数构成。这里主要介绍几个常用的函数,其它的大家可以自行百度解决。三角函数(sin,cos,tan……)所有的三角函数都使用弧度单位,可以用函数deg(角度)和rad(弧度)来转换角度和弧度。示例代码:
print(math.sin(math.rad(30))) -- 0.5谨记:三角函数的参数都是弧度,在实际使用中不要忘了,是弧度。取整函数(f
转载
2024-03-28 11:51:25
101阅读
写在最前面,为什么要了解LUA语言?因为WOW的宏甚至插件的编写都离不开LUA!功欲擅其事,必先利其器,如果想玩转魔兽世界,而不是被魔兽世界玩的话,先来学习一下LUA语言吧!转:《LUA语言学习教程 》在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。 Lua
转载
2024-05-27 10:56:44
44阅读
6.7 – 数学函数这个库提供了基本的数学函数。 所以函数都放在表 math 中。 注解有 "integer/float" 的函数会对整数参数返回整数结果, 对浮点(或混合)参数返回浮点结果。 圆整函数(math.ceil, math.floor, math.modf) 在结果在整数范围内时返回整数,否则返回浮点数。 math.abs (x)返回 x 的绝对值。(integer/floa
转载
2024-03-22 15:49:37
147阅读
【话从这里说起】在我发表《Lua中的类型与值》这篇文章时,应该好好总结一下Lua中的function和userdata类型。现在是时候总结了。对于function,我在《Lua中的函数》这篇文章中进行了总结,而这篇文章将会对Lua中的userdata进行仔细的总结。【userdata是啥?】userdata是啥?简单直译就是用户数据,如果再文艺一点,就叫做用户自定义数据。要这货有什么好处呢?首先,
转载
2024-04-24 22:23:45
297阅读
1. Lua的堆栈和全局表我们来简单解释一下Lua的堆栈和全局表,堆栈大家应该会比较熟悉,它主要是用来让C++和Lua通信的,是的,它们并不认识对方,只能通过堆栈来沟通,就像写信一样。(旁白:它们不会用微信吗?!微信~!不知道?)Lua的全局表又是什么呢?可以想象成是一个map哈希表结构,比如Lua有一个变量:name = “hello”那么,全局表就存放了”name
转载
2024-05-24 21:06:15
73阅读
一、Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶。如图: lua的栈类似于以下的定义, 它是在创建lua_State的时候创建的:  
转载
2024-06-04 07:54:29
45阅读
一、Lua虚拟机的栈1.1先简单介绍下Lua虚拟机的栈,如图: &n
转载
2024-04-29 11:23:37
0阅读
(一)通过一个简单的例子来看一下userdata的用法:写一个C的Lua库,让Lua能够访问C的数组,借助userdata来实现。(1)VS中新建一个DLL工程,设置好lua库的包含目录、链接库;(2)新建一个源文件main.cpp,代码如下: #include <stdio.h>
#include <string.h>
extern "C"
{
#inc
转载
2024-04-15 12:25:17
111阅读
整数的因子分解 一、带余除法和整除法 定理1.1 设 a,b 是两个整数,其中b>0,则存在唯一的整 数q和r使得 , a=qb+r,
其中的除法称为带余除法或者欧几里得除法。q称为a被b除得的不完全商,r称为余数。 若式子中,r=0,则称b整除a,记为b|a。b称为a的 真因子,a是b的倍数。 整除的性质, (b>0,c>0) 1. c | b ,
转载
2024-09-25 19:22:55
41阅读
local a,b = math.modf(7/3)print(a,b)
转载
2013-03-01 18:16:00
682阅读
我的副业:觉得我的文章写得不错就支持一下我的副业吧手机卡、流量卡领取:https://lsqstudy.github.io/post/d76a15aa112345.html
阅读导航跳转到总目录 文章目录01、关键字与保留字02、标识符2.1、什么是标识符(Identifier)2.2、定义合法标识符规则【重要】2.3、Java 中的名称命名规范03、变量3.1、变量的声明与使用3.2、基本数据类
素数判断的几种方法代码实现及其复杂度分析 一、 朴素判断素数根据素数的定义,约数只有1和它本身的整数称为素数,假设一个整数为n,于是最朴素的判断n是否为素数的方法就是从2到n-1都枚举一遍,判断是否存在能整除n的整数,如果都不能则n为素数。代码实现如下:bool Brute_Force(int n)
{
for (int i=2; i<=n-1; i
格式代码AABCABCDEFGH%SAABCABCDEFGH%5S####A##ABCABCDEFGH%.5SAABCABCDE%5.5S####A##ABCABCDE%-5SA####ABC##ABCDEFGH Prin
转载
2023-11-23 22:17:26
106阅读
【测试环境】lua版本: 5.2.1【问题场景】在”luaL_dofile”处报错,并且没有任何错误信息。 代码如下:#ifdef __cplusplus
extern "C" {
#endif
#include "luajit-2.0/lua.h"
#include "luajit-2.0/lualib.h"
#include "luajit-2.0/lauxlib.h"
#ifdef __c
转载
2024-05-06 16:41:18
157阅读
在实际开发过程中,代码日志是必不可少的系统,尤其是在线上版本中,对于查找问题相当有帮助。但是cocos2dx lua的代码日志是基于lua的print打印,只写在console中,不会长久保存。怎么办,那么我们来设计一个简单的日志系统,让日志保存下来。 话不多说,直接上代码:(添加了注释)
转载
2024-03-16 13:24:20
134阅读
Lua的堆栈是很重要不可或缺的,就像我的旁白一样(旁白:他竟然赞我了。。。好羞涩~)。虽然看起来没什么用,但是少了又绝对不行。 正文: Lua堆栈的索引,因为我们在很多操作里都涉及到堆栈的索引,比如上一章中我们要从堆栈中取得一个字符串,就必须给出堆栈索引: 1. /* 获取栈顶的值 */
2. const char* str = lua_tostring(pL, 1);
转载
2024-04-29 12:41:34
66阅读
如何主动打印调用栈?如果是Java、Js,那么很简单,三行就能实现。但 VisualStudio 就复杂多了。如果不下断点,那么只能在崩溃的时候被动查看。而使用 Backward-Cpp ,只需在项目中拖入一个hpp文件,就可以主动打印。但默认输出是 stderr,无法在 VisualStudio 的 output 窗口看到任何信息。全网搜索半小时后,才从另外零星的代码片段中推得,需要将 stri
转载
2024-03-28 09:36:06
297阅读
到目前为止,我们写的C函数都还是单个的函数,函数之间没有联系,也没有涉及返回C结构体以及指针,但实际的业务场景中肯定不会这么简单,比如我们现在要扩展lua使之能够操作redis,首先至少需要一个连接redis服务器的方法并返回一个连接句柄,然后用这个连接句柄来进行各种查询,最后使用结束还需要关闭这个连接句柄,通常来说,这个连接句柄会是一个结构体,那问题是该怎么返回这个结构体给lua呢。用C操作Re
转载
2024-03-26 12:46:53
107阅读
一、Lua使用 lua_shared_dict 共享内存-共享进程间变量 共享内存就是在内存块中分配出一个空间,让几个不相干的进程都能访问存储在这里面的变量数据,实际我们用过的redis,memcache也具有共享内存的意义,redis,memcache等是更高级的可跨服务器的共享内存,在lua中使用共享内存也非常简单。语法:lua_shared_di
转载
2024-07-21 09:22:29
68阅读
函数有两种用途: 1).完成指定的任务,这种情况下函数作为调用语句使用; 2).计算并返回值,这种情况下函数作为赋值语句表达式使用。 1 function func_name (arguments-list)
2 statements-list;
3 end;
4
5 --调用函数的时候,如果参数列表为空,必须使用()表明是函数调用
6 print(8*9, 9/8)
转载
2024-03-26 08:31:09
161阅读