一种多返回值的函数编程方法技术

技术编号:19963768 阅读:45 留言:0更新日期:2019-01-03 12:35
本发明专利技术提供了一种多返回值的函数编程方法,包括:定义多个变量,并获取每一个变量的ID号;选择一个能够返回多个值的动作函数,并插入用于承载返回值的变量;修改动作函数的返回值的变量名为已经定义的用于承载返回值的变量ID号,同时修改动作函数输入参数的变量名为已经定义的其他变量ID号;保存代码,执行动作函数,通过一个动作函数实现返回多个返回值。本发明专利技术方法对于需要多返回值的场景可以通过一个函数实现,不再需要分别定义不同的功能函数实现,降低了代码量;本发明专利技术降低了软件的开发难度,提高了代码的复用率。

A Functional Programming Method with Multiple Return Values

The invention provides a functional programming method with multiple return values, which includes: defining multiple variables and obtaining ID number of each variable; selecting an action function capable of returning multiple values and inserting a variable for carrying the return value; modifying the variable ID number of the return value of the action function, which has been defined for carrying the return value, and modifying the input parameters of the action function. The variable name of the number is the ID number of the other variables that have been defined; the code is saved, the action function is executed, and multiple return values are returned through an action function. The method of the present invention can be realized by one function for scenarios requiring multiple return values, and does not need to define different function functions separately, thus reducing the amount of code; the method reduces the difficulty of software development and improves the code reuse rate.

【技术实现步骤摘要】
一种多返回值的函数编程方法
本专利技术涉及计算机
,具体地,涉及一种多返回值的函数编程方法。
技术介绍
随着科技和社会的快速发展,计算机软件工程变得越来越重要,各行各业中的机械自动化、智能化控制、互联网、物联网等等对于软件开发的效率、控制或运行速度等要求也越来越多。软件工程应用中,传统的编程方法,其返回一个函数的返回值时,往往是只能返回一个值或者一个整体的值。但是在实际的编程开发时,经常会要求一个函数要返回多个返回值,返回值的参数类型可以相同也可以不同,传统的单返回值的编程方法给这样的需求造成了不便。即需要程序员完成大量复杂、重复或类似的编程开发工作,这一方面带来大量的人工成本的浪费,另一方面程序的代码量激增,虽然最终能实现软件的技术目的,但在运行中则可能带来控制对象或程序运行速度过慢等问题,而且因为需要大量的编程工作,所以软件开发的效率也无法提高。经过检索发现:1、申请号为200810235435.9的中国专利技术专利申请《一种通过函数编程模型支持大规模分布式并行计算的方法》,公开了一种通过函数编程模型支持大规模分布式并行计算的方法,首先将基于过程的实现代码转换成函数式,然后消除函数的边际效应,再构造fork和forkout函数,进行模拟执行过程,当遇到函数调用时,将函数调用转换为将函数和其参数作为参数,传入伪调用函数。利用VOID的感染特性来对函数调用进行染色获取函数的调用关系。当到达程序的终点则产生一系列的函数执行序列,根据执行序列以及参数进行一次分布式计算,将结果缓冲起来,并对代码进行第二次执行,在此过程,遇到函数调用,直接返回已经缓冲的数据。本专利技术通过建立基于通用语言的并自动化归纳问题分割的模型,实现函数的分布调度执行算法,适合应用于大规模分布式系统。但是,该专利技术侧重编程方法支持分布式并行计算,代码量大、编程效率低。2、申请号为200710172322.4的中国专利技术专利申请《构件化软件系统实现脚本语言调用多输出参数接口的方法》,包括系统产生脚本语言对组件对象接口方法的调用语句、脚本引擎读取调用信息、脚本引擎根据接口方法的元信息将调用信息传递给接口方法、脚本引擎判断接口方法中是否含有输出参数、如果有则进行输出参数变量动态生成并传入该接口方法的操作处理、脚本引擎调用该接口方法、脚本引擎将输出参数变量转换为与脚本数据类型相适配的输出信息并返回给系统。采用该种构件化软件系统中实现脚本语言调用多输出参数接口的方法,有效解决了脚本语言调用构件接口方法时输出参数返回值的适配问题,实现过程简单,代码执行效率较高,使用方便快捷,同时工作性能稳定可靠,适用范围较为广泛。但是,该专利技术是通过在构建化软件系统中实现脚本语言的多参数接口,代码量大、编程效率低。3、Python函数的多返回值,在Python函数编程中,可以返回多参数,参数的类型可以不同,使用较为灵活。其本质是返回的一个元组值,元组在语法上可以省略两边的圆括号,因此看起来像是多个参数返回值。但是该函数方法代码量大,且无法有效处理对多个函数的定义,开发难度大。因此,采用传统的编程方法已经不能满足工业应用的需求。如何提高编程的效率、提高代码的使用灵活性,降低代码量和开发中人工成本,成为本领域亟待解决的问题。
技术实现思路
针对现有技术中存在的上述不足,本专利技术的目的是提供一种多返回值的函数编程方法,该方法提供了一种多返回值的机制,提高了编程的效率;多返回值的数据类型可以不同,提高了代码的使用灵活性,降低了代码量和开发中人工成本,能够更好地满足现有工业应用中对于软件开发的需求。本专利技术是通过以下技术方案实现的:一种多返回值的函数编程方法,能够通过一个动作函数返回多个返回值,包括:定义多个变量,并获取每一个变量的ID号;选择一个能够返回多个值的动作函数,并插入用于承载返回值的变量;修改动作函数的返回值的变量名为已经定义的用于承载返回值的变量ID号,同时修改动作函数输入参数的变量名为已经定义的其他变量ID号;保存代码,执行动作函数,通过一个动作函数实现返回多个返回值。优选地,所述定义变量,包括:布置层Layer;选取多个组件作为变量,并拖拽到层Layer中;获取每一个组件的ID号,即每一个变量的ID号。优选地,所述组件包括:基础组件、通用组件和高级组件。优选地,多个组件相同或者不同。优选地,多个变量的类型相同或者不同。优选地,所述选择一个能够返回多个值的动作函数,并插入用于承载返回值的变量,包括:选取动作函数时,首选确认是否需要操作外部组件:如果需要,则接入外部组件支持;如果不需要,则直接在选取的动作函数中插入用于承载返回值的变量。优选地,在接入外部组件支持的情况下,将外部组件的参数写入所选取的动作函数中。优选地,对外部组件操作后,还包括操作后的反馈,包括:反馈的数据和标志位,其中标志位用于表示外部组件操作是否成功,如果成功,则取出反馈的数据。优选地,所述外部组件包括:DLL(动态链接库)和/或数据库。优选地,所述执行动作函数,包括如下任意一个或任意多个步骤:-在开发环境中执行代码;-在Runtime模式下执行代码。优选地,所述变量的ID号为变量建立时默认的ID号或通过赋值得到的ID号。与现有技术相比,本专利技术具有如下的有益效果:由于采用了上述技术方案,本专利技术的有益效果是:1、本专利技术通过一种编程方法,具有获取到多返回值的特点;2、本专利技术通过λ编程语言实现多参数返回值的输出,即给定操作对象和操作参数以及函数关键字,能返回多个同类型或者不同类型的返回值,可以适用于多种工业应用场合的编程控制;3、在本专利技术中,对于需要多返回值的场景可以通过一个函数实现,不再需要分别定义不同的功能函数实现,降低了代码量,进而降低了开发中人工成本;4、本专利技术降低了软件的开发难度,提高了代码的复用率,大大提高了软件开发的效率,并能在具体应用中提高控制对象的运行速度、降低运行处理复杂度。以上有益效果表明,本专利技术能够更好地满足现有工业应用中对于软件开发的需求。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例中多返回值的函数编程方法流程图。具体实施方式下面对本专利技术的实施例作详细说明:本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进,这些都属于本专利技术的保护范围。参照图1所示,一种多返回值的函数编程方法的实施例流程图,能够通过一个函数返回多个返回值,包括如下步骤:步骤S1,定义多个变量,并获取每一个变量的ID号;步骤S2,选择一个能够返回多个值的动作函数,并插入用于承载返回值的变量;步骤S3,修改动作函数的返回值的变量名为已经定义的用于承载返回值的变量ID号,同时修改动作函数输入参数的变量名为已经定义的其他变量ID号;步骤S4,保存代码,执行动作函数,通过一个动作函数实现返回多个返回值。进一步地,所述步骤S1,包括如下步骤:步骤S1-1,布置层Layer;步骤S1-2,选取多个组件作为变量,并拖拽到层Layer中;步骤S1-3,获取每一个组件的ID号,即每一个变量的ID号。进一步地,所述组件包括:基础组本文档来自技高网
...

【技术保护点】
1.一种多返回值的函数编程方法,其特征在于包括:定义多个变量,并获取每一个变量的ID号;选择一个能够返回多个值的动作函数,并插入用于承载返回值的变量;修改动作函数的返回值的变量名为已经定义的用于承载返回值的变量ID号,同时修改动作函数输入参数的变量名为已经定义的其他变量ID号;保存代码,执行动作函数,通过一个动作函数实现返回多个返回值。

【技术特征摘要】
1.一种多返回值的函数编程方法,其特征在于包括:定义多个变量,并获取每一个变量的ID号;选择一个能够返回多个值的动作函数,并插入用于承载返回值的变量;修改动作函数的返回值的变量名为已经定义的用于承载返回值的变量ID号,同时修改动作函数输入参数的变量名为已经定义的其他变量ID号;保存代码,执行动作函数,通过一个动作函数实现返回多个返回值。2.根据权利要求1所述的多返回值的函数编程方法,其特征在于,所述定义变量,包括:布置层Layer;选取多个组件作为变量,并拖拽到层Layer中;获取每一个组件的ID号,即每一个变量的ID号。3.根据权利要求2所述的多返回值的函数编程方法,其特征在于,所述组件包括:基础组件、通用组件和高级组件;其中:所述基本组件包括如下任意一个或任意多个组件:-Layer层组件,用于构建Layer层;-Label组件,用于构建标签;-TextBox组件,用于构建文本框;-Image组件,用于构建Image图像;-Gif组件,用于构建Gif动图;-Apng组件,用于构建Apng图像;-CommandButton组件,用于构建按钮;-Var组件,用于构建代码中的变量;所述通用组件包括如下任意一个或任意多个组件:-Menu组件,用于构建菜单栏;-ComboBox组件,用于构建下拉框;-ListBox组件,用于构建列表框;-CheckBox组件,用于构建复选框;-OptionButton组件,用于构建单点选择框;-DateBox组件,用于构建日期选择组件;-TimeBox组件,用于构建时间组件;-ProgreBar组件,用于构建进度条;-Timer组件,用于构建触...

【专利技术属性】
技术研发人员:张元刚
申请(专利权)人:上海泽阳智能科技有限公司张元刚
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1