程序设计中我们不可逃避的重要概念就是递归函数,就个人而言递归是一个比较难以理解的概念。如果要是做一个比喻的话,递归就是一种结果导向的思维,用最终的结果来反向推导需要的东西。可能这样说还是一个非常抽象的概念。总之不管怎么解释都是一个相对来说抽象的概念,那我们就直接看一下,UE4里边是如何定一个递归函数。
还是使用蓝图定义一个最为简单的递归函数,这个函数其实就是一个生成树算法。虽然没有数的逻辑结构,但是它的数字就已经表达了一个树。
| 0
| -1
| --2
| --2
| --2
| 0
| -1
| --2
| --2
| --2
| 0
| -1
| --2
| --2
| --2
这一系列的数字已经表达了一个树。下面是蓝图函数的定义。
![](https://img.haomeiwen.com/i6341770/73b721548d82cf30.png)
值得注意的一点是UE4蓝图貌似无法定义局部变量。变量的定义都要在函数参数,与类的成员变量里面。运行后打印效果。
![](https://img.haomeiwen.com/i6341770/e5802a7cf27fdd32.png)
而为什么这串数字是反向的,可能因为递归本来就是逆向思维。当然可以调整成正的,这里只是稍微演示一下,UE4的函数定义语法,和递归的表达。不做过多解释。
网友评论