梦回苍石居  |
Cangshi Live

WE:纯T函数封装演示

WEWAR3魔兽地图编辑器
苍石 发表于:2024-03-05 20:27:20  最后编辑于:17 天前 227 Views

纯T函数封装演示

Jass或Lua党请移步勿喷,该演示只为纯T作者准备。

痛点

  1. 有太多的重复或类似的逻辑,总是在复制粘贴,复制粘贴的过程一个变量没处理好,总容易出错~!
  2. 总是一个触发会写特别长,写好后看起来又臭又长,遇到bug时改起来费时费力~

解决方案:函数

函数(也称为方法或过程)是一段可重复使用的代码块,它执行特定的任务,并且通常接受输入(称为参数或实参),然后返回一个结果。函数的主要目的是提高代码的模块化,使得代码更加组织化、易于维护和重用。

通俗来说,你可以把函数想象成一个工具箱里的瑞士军刀。这个瑞士军刀有多个工具(功能),你可以用它来完成不同的任务,比如剪东西、开瓶盖等。在编程中,每个函数就像是一个工具,你可以通过调用(使用)这个工具来完成特定的工作。

这里有几个关键点:

  1. 封装:函数将相关的逻辑封装在一起,使得逻辑更加整洁,更加清晰。这样,当你需要执行相同的任务时,你只需要调用相应的函数,而不需要每次都重写相同的代码。
  2. 参数:函数可以接受输入值,这些输入值称为参数。参数允许函数根据传入的不同值执行不同的操作。这就像你告诉瑞士军刀你要用哪个工具,以及如何使用它。
  3. 返回值:函数执行完毕后,可以返回一个结果。这个结果可以是任何类型的数据,比如数字、字符串或者更复杂的数据结构。返回值允许函数之间共享信息。
  4. 重用:由于函数是可重用的,你可以在程序的任何地方多次调用同一个函数,而不需要重复编写相同的代码。这大大提高了开发效率。

纯T函数封装演示

通过触发进行封装

image.png

通过为触发设置这个事件,这整个触发就可以理解为一个函数

注意:函数名需要是唯一的,支持中文

通过动态参数来调用函数

image.png

你可以将任意类型的参数在调用函数时传入,最大支持同时传递10个动态参数。

函数内通过动态参数获取函数的参数

image.png

在任意类型下,我们都可以获取到当前函数的指定顺序的参数,这里获取到的参数是动态转换的。

例子:你在调用函数的时候,传了一个整数10,你在函数内部去获取实数参数,得到的是10.0。 相同的,如果输入类型是其它类型,也会动态转换为你想要的类型。 如果传入的类型是单位或其他handle类型,获取的类型是整数,那么会得到单位的整数地址。 相反而言,如果传入的是整数,获取的是单位类型,就会尝试获取该整数地址下的单位。 (如果没有,游戏有一定概率崩溃)

任意类型的动态返回值

在函数内部,我们可以将任意类型的数据设置为返回值: image.png

在调用函数时,我们可以将返回值转换为任意类型以供使用: image.png

image.png

函数返回值的获取也和动态参数类似,会根据你需要的数据类型进行自动转换

高重用性,支持函数的嵌套调用

image.png

几个简单的例子

简单加法运算(只是为了演示,实际上没这需求)

image.png

计算x的阶乘(运用了递归算法)

image.png image.png image.png

简单的冲锋函数

image.png image.png

说在最后:该演示大家就图个乐,别较真,真有需要的直接加我QQ:188802483

文章评论 ( 0 )

Person name
未登录用户可以发表匿名评论