过程
过程是一组指令集,这些指令集被组织在一起,赋予名称,并且可供后续调用。这使得代码更容易阅读、理解和修改。总之,使用过程会更高效。
添加过程的方式很简单,在逻辑设计中的内置块里有过程,可以定义自己需要的过程。 过程显著地提升了在App中构建的效率。通常情况下,一个App需要在不同时间或者场景下多次执行相同的动作。创建过程使你能够快速地将此动作添加到App中,而不需要每次都重新构建或者复制并粘贴代码。此外,在排查问题时,复制的代码会使得修改App更加困难。如果App的最初版本需要做一些修改,那么你需要找到所有的副本并一次次地重复相同的修改。而通过使用过程,只需要做一次修改。
此外,你可以使用过程来为任何一个块序列命名。当一个块集合有名称时,你不必关心它的工作原理 – 你可以将其像一个单独的块一样从菜单中拖拽出来并使用它。
(1)过程的类型
过程抽屉中有两个过程块:不带返回值的过程和带返回值的过程。
不带返回值得过程将一系列块收集到一个组中。之后可以调用这些收集起来的块,这意味着每次使用该过程的时候,在此过程组合中的那些块都会顺序运行。当你为这组块起一个自定义的名称之后,它就会出现在抽屉中。
带返回值得过程会在其完成时提供一个结果值。当调用此过程时,它运行过程中的块,并返回结果槽中最终的值,这有些类似于变量取值器。
(2)为什么要使用过程
使用过程来命名代码片段有两段好处:
1、可以使用具有描述性名称的单独一个块来隐藏执行某项任务所需的全部工作,而这些工作可能会庞大且复杂;
2、可以减少重复代码,这使得App更容易调试、更新和阅读。含有大量重复的块会使调试和修改App无端地复杂。
当创建过程时,为其赋予一个具有描述性的名称总是个好主意。这使得它变得有意义,而且让你以后更容易回想起这个特定的过程。要修改过程后的名称,单击过程后免得椭圆形区域,然后输入一个不同的名称。每个过程的名称必须唯一(这个在命名组件或者其他项目时也是一个好的编程实践)。
(3)参数
当过程被调用时,参数是向其传递信息的一种方法。在使用带有开口槽的块(例如设置文本框中的值)时,你已经向过程提供了参数。你连接到set块的值也是一种参数。创建带有参数的过程需要使用设置器,它是一个带有白色齿轮的小蓝框。单击这个蓝色图标允许你将更多的小块拖拽到较大的块上。
对过程来说,设置器中的小块可以添加参数。每个参数都是一个命名的值,每当过程被调用时,这些信息都会被传入到过程中。这些值是过程的输入。这会改变call块的形状,它会为你增加用户提供这些输入值的槽。
给出一个例子
这个新过程带来最大的好处就是使阅读AccelerationChanged代码变得非常容易。此前,我们看到的是一片代码,而且很难弄清楚这些块要完成什么功能。现在,这里是更容易阅读的一句话,而scale_reading过程已经替换了复杂的部分。因此,过程块右侧所做的事情就是获取一个读数并对其进行缩放,然后在左侧给出结果。这使我们更容易关注其余的代码对过程所返回的值都除了哪些处理,而不需关心该值是如何计算出来的。
如果想要知道该调整方法的细节,或者想要修改这些细节,只需要查看其定义。任何对定义的修改都将立即改变过程调用的工作方式。