首页 > 科技 >

表达过去、现在与将来:之将来(1)

2018-10-23 07:28:35 网络整理 阅读:111 评论:0

problem solver

我们的软件构建了智能体可以彼此互动的数字空间。使用机器学习算法来构建智能机器人是一个热门的话题。但是大多数的代码仍然是用来构建这个虚拟环境自身的。代码和运行时描述了在这个环境中什么可能发生,什么将会发生,也就是它的“未来”。为了解决起义,代码和运行时必须能够回答什么是“现在”正在发生的事情。代码和运行时还必须忠实地记录“过去”发生了什么。为了保持完整性以及打下坚实基础,这三件事情都必须办得妥当,否则产生了异常现象就是bug。最显而易见的数字空间就是如题图所示的在线RPG多人游戏。

当前商业兴趣正快速转移到构建更多的智能机器人上,构建数字空间的技术业已白菜化,一些过去的智慧可能会被丢失和遗忘。当前主流的搭..的做法行之有效而且成熟,但是还谈不上优雅。这个由三篇构成的系列尝试总结我在如何表达“过去”,“现在”和“将来”方面的观察。其中的一些做法值得更多的关注。

用啥表达“未来”?这看起来是显而易见的问题。那些所谓的业务逻辑由那么那么多的方式来表达。我们以“表达未来的方式“的视角重新审视很多初级的概念。然后我们可以看到这个问题其实没有我们想得那么简单。 源代码

“未来”体现在了文档里,在源代码里,以及在运行时中。我们将要使用的语言是lua 5.3和es2017(ECMAScript 2017)。所有的代码可以在线尝试https://tio.run/。 简单过程

我们来看一个非常简单的过程:result = (a+b)*3。这个“some_important_business_process”描述了接收a和b然后继续出结果的过程。 Function

最简单的描述”什么可以发生以及什么将要发生“的办法就是使用Function。

lua version: https://tio.run/

表达过去、现在与将来:之将来(1)

es2017 version: https://tio.run/

表达过去、现在与将来:之将来(1)

Partial Function

在前面的函数里,我们一次性把a和b拿过来做为输入。然而,我们可能不是从一开始就知道a和b都是什么的。为了把故事逐步展开,我们先拿”a“,然后再拿”b“。

lua version: https://tio.run/

表达过去、现在与将来:之将来(1)

es2017 version: https://tio.run/

相关文章