CN114840198A - 函数执行方法、积木块功能重写方法及相关设备 - Google Patents
函数执行方法、积木块功能重写方法及相关设备 Download PDFInfo
- Publication number
- CN114840198A CN114840198A CN202210415168.3A CN202210415168A CN114840198A CN 114840198 A CN114840198 A CN 114840198A CN 202210415168 A CN202210415168 A CN 202210415168A CN 114840198 A CN114840198 A CN 114840198A
- Authority
- CN
- China
- Prior art keywords
- function
- building block
- built
- programming platform
- target building
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Programmable Controllers (AREA)
Abstract
本申请提供一种函数执行方法、积木块功能重写方法及相关设备,应用于编程平台中,编程平台内提供有多个基本积木块,每个基本积木块对应一种内置函数。函数执行方法包括:在接收到执行指令时,执行执行指令所指示的积木块对应的函数;其中:执行指令所指示的积木块中,包含对应自定义函数的目标积木块;自定义函数为:根据编程平台所提供的内置函数进行组装后实现设定功能的函数。这样,当编程平台中执行目标积木块时,就可以执行该自定义函数,实现编程平台提供的基本功能以外的其他功能,从而提高编程平台中语言的灵活性和创造性。进一步地,该自定义函数还可以与基本积木块相关联,实现对于积木块功能的重写,进一步提高灵活性和创造性。
Description
技术领域
本申请涉及图形化编程技术领域,具体而言,涉及一种函数执行方法、积木块功能重写方法及相关设备。
背景技术
图形化编程是一种通过将底层实现进行封装,用户仅需要简单拖拽积木块(在许多文献中也被称之为代码块),就能完成相应具有复杂逻辑的编程任务的编程方式。
目前,图形化编程领域中,包括Scratch在内的各编程平台中往往会提供一些基础的积木块供用户进行编程。在编程平台中,积木块的本质是一个预设的内置函数,而函数的定义是源自于编程平台的引擎内部的实现,也即函数的实现依赖引擎的版本。所以在编程平台中,一个积木块代表的一定是一个特定的效果,该积木块的内容被预先设定好,不能被编写者改变,从而导致编程平台中语言的灵活性、创造性受到了巨大的限制。
例如,现在有一个积木块是“移动10步”,在该积木块被执行时,移动的速度在编程平台中是固定的,不可动态修改。又例如,在运行时阶段,积木块的执行对于用于而言,并不能从代码中获得积木块调用了的通知。又例如,目前在编程平台中基于积木块编写程序时,不能像脚本语言一样可以输出日志,调查问题,从而导致在编程平台中对基于积木块编写的程序进行调试时,只能拆解积木块,切换角色,逐个积木块地进行增减替换测试,调试效率非常低下。
发明内容
本申请实施例的目的在于提供一种函数执行方法、积木块功能重写方法及相关设备,用以解决编程平台中语言的灵活性、创造性受到了巨大的限制的问题。
本申请实施例提供了一种函数执行方法,应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数;所述方法包括:在接收到执行指令时,执行所述执行指令所指示的积木块对应的函数;其中:所述执行指令所指示的积木块中,包含对应自定义函数的目标积木块;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数。
在上述实现过程中,根据编程平台所提供的内置函数进行组装后,得到实现设定功能的自定义函数,并将自定义函数与积木块关联。这样,当编程平台中执行对应于自定义函数的目标积木块时,就可以执行该自定义函数,实现编程平台提供的基本的特定功能以外的其他功能,从而可以在一定程度上提高编程平台中语言的灵活性和创造性。进一步地,该自定义函数还可以与编程平台提供的基本积木块相关联,从而使得基本积木块对应的函数从内置函数变为自定义函数,从而实现对于积木块功能的重写,打破了编程平台中,一个积木块代表的一定是一个特定的效果,且不能被编写者改变的现状,从而可以进一步提高编程平台中语言的灵活性和创造性。
进一步地,所述目标积木块为:函数对应关系从内置函数修改为所述自定义函数的基本积木块。
在上述实现过程中,通过将编程平台提供的基本积木块对应的函数,从内置函数修改为自定义函数,就实现了对于该基本积木块的功能重写,打破了编程平台中,一个积木块代表的一定是一个特定的效果,且不能被编写者改变的现状,从而提高了编程平台中语言的灵活性和创造性。
本申请实施例还提供了一种积木块功能重写方法,应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数;所述方法包括:获取为目标积木块编写的自定义函数;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数;所述目标积木块为所述多个基本积木块中的一个;在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数。
在上述实现过程中,通过基于编程平台所提供的内置函数进行组装后,得到实现设定功能的自定义函数,然后通过在编程平台的函数调用引擎中,将目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为自定义函数,这样就可以使得在目标积木块被执行时,编程平台中实际调用执行的函数不再是该目标积木块原本被配置的内置函数,而是会调用并执行该自定义函数,从而实现对于积木块功能的重写,打破了编程平台中,一个积木块代表的一定是一个特定的效果,且不能被编写者改变的现状,从而可以提高编程平台中语言的灵活性和创造性。
进一步地,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数之前,所述方法还包括:将所述自定义函数与所述目标积木块对应的内置函数关联,并保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系;对应的,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数,包括:在运行时阶段,根据所述关联关系,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数。
在上述实现过程中,通过保存自定义函数与目标积木块对应的内置函数之间的关联关系,从而可以基于该关联关系,在运行时阶段,实现对于目标积木块对应被调用的函数的修改,从而保证编程平台中执行目标积木块时,实际调用执行的函数是该自定义函数,实现对于积木块功能的重写。
进一步地,保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系,包括:将所述自定义函数与所述目标积木块对应的内置函数之间的关联关系,以所述编程平台的文件格式要求,保存至存储文件中;对应的,在根据所述关联关系,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数之前,所述方法还包括:对所述存储文件进行静态分析,得到所述函数调用引擎可以识别的所述关联关系。
应理解,在实际应用过程中,函数调用引擎并不能直接识别文件内容,但是编程平台中,相关配置通常都需要通过文件形式才能实现持久化保存。因此,在上述实现过程中,通过编程平台的文件格式要求,将自定义函数与目标积木块对应的内置函数之间的关联关系保存至存储文件中,可以满足编程平台的配置要求。而通过对存储文件进行静态分析,可以将文件中的内容识别出并转化为函数调用引擎可以识别的格式,从而使得函数调用引擎可以识别该关联关系,保证在运行时阶段,可以实现对于目标积木块对应被调用的函数的修改。
进一步地,所述编程平台中提供有至少一个角色;保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系,包括:在当前角色对应的文件存储区域中,保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系。
应理解,在编程平台中,用户是以角色为基础进行的编程。也即,在编程平台中,针对每一个角色会提供相应的基本积木块供用户编程。用户在某一角色对应的工作区利用基本积木块搭建好一个程序并执行后,编程平台的角色演示区即会演示该程序的执行过程。因此,对于用户而言,其可能对于同一基本积木块,在某些角色中,希望该基本积木块具有与默认设置的内置函数所不同的功能,但是对于某些角色,其可能希望该基本积木块具有的就是默认设置的内置函数的功能。而在上述实现过程中,通过将自定义函数与目标积木块对应的内置函数之间的关联关系,保存在当前角色对应的文件存储区域中,这样该关联关系就只会影响当前角色,对其他角色不会造成影响。也即,在上述实现过程中,只会针对当前角色对应的程序,在执行该目标积木块时执行该自定义函数,而对于其他角色而言,则会根据该角色对应的文件存储区中是否有自定义函数与内置函数之间的关联关系确定是否执行内置函数。
进一步地,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数之前,所述方法还包括:确定所述目标积木块所对应的自定义函数唯一。
在上述实现过程中,通过确定目标积木块所对应的自定义函数唯一时,才在编程平台的函数调用引擎中,将目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为自定义函数,这就保证了对于目标积木块对应的被调用函数的修改唯一,避免了因为一个目标积木块同时对应多个自定义函数而造成编程平台逻辑运行错误。
进一步地,所述方法还包括:在接收到针对所述自定义函数的删除指令时,将所述目标积木块对应的被调用函数修改为该目标积木块对应的内置函数,并删除所述自定义函数对应的关联关系;删除所述自定义函数。
在上述实现过程中,在删除自定义函数时,还将目标积木块对应的被调用函数修改为该目标积木块对应的内置函数,并删除自定义函数对应的关联关系,从而可以保证编程平台在运行时,不会出现逻辑运行错误(例如不会出现明明有关联关系,但修改后无法调用函数,从而导致程序错误的问题;又例如不会出现函数调用引擎无法调用到函数,从而导致程序错误的问题)。
本申请实施例还提供了一种函数执行装置,应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数;所述装置包括:执行模块,用于在接收到执行指令时,执行所述执行指令所指示的积木块对应的函数;其中:所述执行指令所指示的积木块中,包含对应自定义函数的目标积木块;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数。
本申请实施例还提供了一种积木块功能重写装置,应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数;所述装置包括:获取模块,用于获取为目标积木块编写的自定义函数;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数;所述目标积木块为所述多个基本积木块中的一个;重定向模块,用于在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数。
本申请实施例还提供了一种电子设备,包括处理器和存储器;所述处理器用于执行存储器中存储的一个或者多个程序,以实现执行存储器中存储的一个或者多个程序,以实现上述任一种的函数执行方法,或实现上述任一种的积木块功能重写方法。
本申请实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的函数执行方法,或实现上述任一种的积木块功能重写方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种现有的调用通知实现方式示意图;
图2为本申请实施例提供的一种函数执行方法的流程示意图;
图3为本申请实施例提供的一种可选的编程平台界面示意图;
图4为本申请实施例提供的一种实现按照设定的时长间隔逐步进行移动的自定义函数的实现结构示意图;
图5为本申请实施例提供的一种自动进行调用通知的自定义函数的实现结构示意图;
图6为本申请实施例提供的一种积木块功能重写方法的流程示意图;
图7为本申请实施例提供的一种函数执行装置的结构示意图;
图8为本申请实施例提供的一种积木块功能重写装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
为了提高编程效率,降低编程难度,也为了便于学习编程的基本知识,目前市面上出现了以Scratch为代表的图形化编程平台。这些编程平台中,会提供一些基本积木块,并为每种基本积木块对应配置一种内置函数,从而使得每种基本积木块可以实现某一种设定的功能。用户只需拖动相应的积木块进行拼接组装,即可实现编程创作,具有门槛低,实现简单的优势。
但是,发明人经研究后发现,在这些编程平台中,积木块的本质是一个预设的内置函数,而函数的定义是源自于编程平台的引擎内部的实现,也即函数的实现依赖引擎的版本。所以在编程平台中,一个积木块代表的一定是一个特定的效果,该积木块的内容是被预先设定好的,不能被编写者改变,从而导致编程平台中语言的灵活性、创造性受到了巨大的限制。
例1,现在有一个积木块是“移动10步”,在该积木块被执行时,移动的速度在编程平台中是固定的,不可动态修改。也即要实现按照用户需要的移动速度来使角色移动10步,则目前编程平台中基于“移动10步”这一积木块则无法实现。
例2,在运行时阶段,积木块的执行对于用于而言,并不能从代码中获得积木块调用了的通知,只能依靠界面的高亮展示实现对于积木块是否执行的确定,但这对于编程语言来说具有很大的局限性。仍以上例中“移动10步”这一积木块为例,假设创作者想要每次执行“移动10步”这一积木块时收到一个通知,则只能是如图1所示的情况,由创作者在编程时,每一次拖动一个“移动10步”的积木块后,就再拖动一个“广播‘向前移动了10步’”的积木块拼接到“移动10步”的积木块后。整个实现方式是缺乏抽象性和动态性的,该实现方式的本质是创作者手动通知。
例3,目前在编程平台中基于积木块编写程序时,不能像脚本语言一样可以输出日志,调查问题。然而,在通过编程平台编写一个较为复杂的程序时,角色下面可能有成百上千个积木块。如果发现编写的程序中,某一个效果不符合预期,目前只能拆解积木块,切换角色,逐个积木块地进行增减替换测试,调试效率非常低下。
为了解决编程平台中语言的灵活性、创造性受到了巨大限制的问题,本申请实施例中提供了一种应用于编程平台中的函数执行方法以及积木块功能重写方法,通过基于编程平台所提供的内置函数,进行组装得到可以实现设定功能的自定义函数,从而基于自定义函数来实现编程平台提供的基本功能以外的其他功能,在一定程度上提高编程平台中语言的灵活性和创造性。
为此,可以参见图2所示,图2为本申请实施例中提供的函数执行方法的流程示意图,包括:
S201:在接收到执行指令时,执行该执行指令所指示的积木块对应的函数。
应理解,在本申请实施例中,编程平台可以运行于用户终端(如手机、电脑等终端设备)上,也可以运行于服务器上,用户通过用户终端访问服务器实现对于编程平台的操作与访问,对此本申请实施例中不做限制。
执行指令可以是用户在编程平台上,通过编程平台当前提供的积木块,进行拼接、组装,得到编写的程序之后,通过在手机或其他设备上触发特定的按钮后,所触发的指令。
在本申请实施例中,执行指令可以是针对编写的整个程序进行执行的指令。例如图3中的“开始”按钮被触发后,编程平台即接收到执行指令,此时会依次执行右侧的所有积木块。
在本申请实施例中,执行指令也可以是针对编写的整个程序中的某一个积木块进行执行的指令。例如图3中,针对右侧的任一积木块进行双击后,编程平台即接收到针对该积木块的执行指令,此时执行该积木块。
应理解,执行积木块时,本质是执行该积木块对应的函数。在本申请实施例中,函数包括编程平台为基本积木块配置的各内置函数,以及用户根据编程平台所提供的内置函数进行组装后实现设定功能的自定义函数。
示例性的,例如图4所示,通过采用编程平台提供的基本积木块进行组装后,即可以实现按照设定的时长间隔,逐步进行移动的功能。也即图4示出了一种可以实现按照设定的时长间隔逐步进行移动的自定义函数。
应理解,由于本申请实施例中是基于编程平台所提供的内置函数进行组装后得到自定义函数,因此实现的自定义函数可以在编程平台中执行,而无需进行额外的编译、封装等工作,可直接被编程平台所兼容,同时也不需要改变编程平台本身的设计架构和设计逻辑,具有较高的普适性。
为便于描述,本申请实施例中将对应自定义函数的积木块称之为目标积木块。
在本申请实施例的一种可选实施方式中,用户在编写好自定义函数之后,可以在积木块对应的菜单栏中,生成该自定义函数对应的目标积木块。应理解,在本可选实施方式中,目标积木块为在编程平台所提供的基础积木块的基础上,新增的积木块,目标积木块和基础积木块为不同的积木块,目标积木块的出现不会造成对应内置函数的基础积木块的减少。这样,用户可以根据需要,选择通过拖动新增积木块或者基础积木块来实现所需的功能,从而可以具有更为丰富的使用体验。
而在本申请实施例的另一种可选实施方式中,目标积木块也可以是,函数对应关系从内置函数修改为自定义函数的基本积木块。也即,在本可选实施方式中,目标积木块始终以基础积木块的形式出现,目标积木块的出现会造成对应内置函数的基础积木块的减少,但可以实现对于基础积木块实现的功能的替换(重写)。也即,在本可选实施方式中,可以实现积木块功能重写,从而针对上述例1至例3的问题,均可通过配置不同的自定义函数来关联不同的基础积木块来解决。
示例性的,针对例1,只需配置如图4所示的自定义函数,并与“移动10步”这一积木块关联即可。这样,在执行“移动10步”这一积木块时,即可按照设定的时间间隔进行移动。
针对例2,对于需要进行调用通知的基础积木块,只需配置一个实现自动通知的自定义函数,并与该基础积木块关联即可。例如,对于“移动10步”这一积木块,可以配置如图5所示的自定义函数,并与“移动10步”这一积木块关联即可。这样,在执行“移动10步”这一积木块时,即可自动进行“向前移动了10步”的通知。
针对例3,对于需要进行日志记录的基础积木块,只需配置一个实现数据记录的自定义函数,并与该基础积木块关联即可。例如,对于“移动10步”这一积木块,可以配置一个自定义函数为:“移动10步”这一积木块之后拼接一个“打印输出”积木块。这样,在执行“移动10步”这一积木块时,在“移动10步”之后,即会自动打印输出执行结果,后续只需查询保存的各执行结果,即可实现类似日志的效果,可以辅助用户进行程序的调试。
而为了实现对于目标积木块的功能重写(即实现执行目标积木块时,调用并执行的是自定义函数,而非是内置函数),本申请实施例中还提供了一种积木块功能重写方法,请参见图6所示,包括:
S601:获取为目标积木块编写的自定义函数。
应理解,本申请实施例中,目标积木块为编程平台所提供的多个基本积木块中的一个。目标积木块可以由用户在编写自定义函数时指定。例如,可以由工程师在编写自定义函数时,将目标积木块拖动至指定区域(例如自定义函数的函数定义部分等),实现自定义函数与目标积木块的关联。
S602:在编程平台的函数调用引擎中,将目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为自定义函数。
应理解,在本申请实施例中,步骤S602在执行之前,可以先确定用户是否指定有目标积木块。在指定有目标积木块时,才执行步骤S602。
为了保证步骤S602在执行之前,用户指定有目标积木块,在本申请实施例中,可以在执行步骤S601时,将自定义函数与目标积木块对应的内置函数关联,并保存该自定义函数与目标积木块对应的内置函数之间的关联关系。这样,基于是否存在该关联关系,即可确定是否指定有目标积木块。
同时,基于上述关联关系,编程平台也可以在运行时阶段,根据该关联关系,在编程平台的函数调用引擎中,将目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为自定义函数。从而保证编程平台中执行目标积木块时,实际调用执行的函数是该自定义函数,实现对于积木块功能的重写。
应理解,在本申请实施例中,可以将自定义函数与目标积木块对应的内置函数之间的关联关系,以编程平台的文件格式要求,保存至存储文件中,例如可以保存至SB3文件中,从而满足编程平台的配置存储要求。
而在根据关联关系,在编程平台的函数调用引擎中,将目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为自定义函数之前,则可以通过静态分析技术,对存储有该目标积木块的关联关系的存储文件进行静态分析,得到函数调用引擎可以识别的关联关系。这样,即可使得函数调用引擎可以识别该关联关系,保证在运行时阶段,可以实现对于目标积木块对应被调用的函数的修改。
应理解,在实际应用过程中,编程平台内用户是以角色为基础进行的编程。例如图3所示,在图中的左下侧的角色区内即示出了多个角色,每个角色都会对应有一个右侧的工作区,工作区内可以编写用于控制该角色的程序。事实上,角色的数量可以由用户在编程平台内进行增减控制,但是进行一次编程,编程平台内需要至少存在一个角色。而在编程平台内,为了便于进行不同角色的关联,会为不同的角色配置不同的target(对象)信息,并配置相应的存储区域进行存储。
而考虑到在实际应用中,对于用户而言,其可能对于同一基本积木块,在某些角色中,希望该基本积木块具有与默认设置的内置函数所不同的功能,但是对于某些角色,其可能希望该基本积木块具有的就是默认设置的内置函数的功能。因此,在本申请实施例的一种可选实施方式中,可以将自定义函数与目标积木块对应的内置函数之间的关联关系,保存在当前角色对应的文件存储区域中(例如保存至当前角色对应的target信息中),这样该关联关系就只会影响当前角色,对其他角色不会造成影响。
当然,在本申请实施例的另一种可选实施方式中,也可以是将自定义函数与目标积木块对应的内置函数之间的关联关系,保存在编程平台的底层配置文件中,从而针对所有角色,在编程平台的函数调用引擎中,均将目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为自定义函数。
需要注意的是,为了保证利用自定义函数进行基础积木块的功能重写时,编程平台内不会出现程序逻辑错误(例如存在多个可供调用的自定义函数,又例如无法调用到自定义函数等),在本申请实施例中,可以配置以下规则:
1、目标积木块所对应的自定义函数唯一;
2、存在关联关系时,则自定义函数必须存在。
为满足上述规则1,在本申请实施例中,在编程平台的函数调用引擎中,将目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为自定义函数之前,可以先判断目标积木块所对应的自定义函数是否唯一,也即可以判断该目标积木块是否仅存在唯一的关联关系。在目标积木块所对应的自定义函数唯一时,才在编程平台的函数调用引擎中,将目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为自定义函数。否则,不进行上述操作。
为满足上述规则2,在本申请实施例中,在接收到针对自定义函数的删除指令时,可以将目标积木块对应的被调用函数修改为该目标积木块对应的内置函数,并删除自定义函数对应的关联关系,并删除该自定义函数。
应理解,上述删除该自定义函数、删除自定义函数对应的关联关系、以及将目标积木块对应的被调用函数修改为该目标积木块对应的内置函数的动作之间,可以不存在时序上的先后关系。当然,为了降低出现无法调用到自定义函数的风险,也可以在执行将目标积木块对应的被调用函数修改为该目标积木块对应的内置函数,并删除自定义函数对应的关联关系的操作之后,再执行删除自定义函数的操作,从而保证自定义函数被删除时,其关联关系必然已经被删除,以及其调用关系必然已经不存在。
此外,在本申请实施例中,还可以设置在检测到一次编程过程结束时(例如用户退出编程平台时),配置编程平台自动触发针对所有自定义函数的删除指令,从而实现对所有自定义函数以及相关关联关系、调用关系的清空与恢复。
当前,在本申请实施例中,也可以设置在检测到一次编程过程结束时(例如用户退出编程平台时),配置编程平台不进行前述针对所有自定义函数的删除操作,而是保留本次用户配置的各自定义函数及其对应的关联关系,从而便于后续用户使用时可以继续使用上述自定义函数。
当然,在本申请实施例中,编程平台内还可以提供相应的自定义函数清空接口(例如可以是显示于界面中的一个特定按钮),从而用户可以通过该自定义函数清空接口,自动触发针对所有自定义函数的删除指令,从而实现对所有自定义函数以及相关关联关系、调用关系的清空与恢复。
需要说明的是,在本申请实施例中,用户在编写自定义函数时,应当设置有与目标积木块的内置函数的变量相对应的变量。例如,以图4所示的自定义函数为例,其对应的是“移动step步”的基础积木块,其中“step”为该积木块留出的变量,用户可以对该变量进行设置,以控制具体移动的步数。相应的,在图4中需留出变量“step”,以供用户进行步数设定,从而保证用户对于目标积木块的使用逻辑和行为不需要进行改变。
在本申请实施例中,可以针对每一个积木块配置一个状态机,状态机独立于内置函数与自定义函数之外,但与积木块对应的内置函数、自定义函数关联,从而保证用户设定参数后,参数可以被内置函数或自定义函数调用。
本申请实施例所提供的函数执行方法和积木块功能重写方法,根据编程平台所提供的内置函数进行组装后,得到实现设定功能的自定义函数,并将自定义函数与积木块关联。这样,当编程平台中执行对应于自定义函数的目标积木块时,就可以执行该自定义函数,实现编程平台提供的基本的特定功能以外的其他功能,从而可以在一定程度上提高编程平台中语言的灵活性和创造性。进一步地,该自定义函数还可以与编程平台提供的基本积木块相关联,从而使得基本积木块对应的函数从内置函数变为自定义函数,从而实现对于积木块功能的重写,打破了编程平台中,一个积木块代表的一定是一个特定的效果,且不能被编写者改变的现状,可以拓展的编程平台的基础积木块的功能,从而可以进一步提高编程平台中语言的灵活性和创造性。
实施例二:
本实施例在实施例一的基础上,以针对scratch编程平台中的“移动step步”的基础积木块进行功能重写的过程为例,为本申请做进一步示例说明。
首先,编程平台在检测到用户在特定的UI界面(例如可以是给定的专门用于进行自定义函数编写的界面)进行自定义函数编辑,且拖动了一个基础积木块至自定义函数的定义栏(例如图4所示的第一栏)中,则确定该基础积木块为本次编写的自定义函数所对应的目标积木块,可以将编写的自定义函数的函数名与该目标积木块对应的内置函数的函数名相关联,并将关联关系以SB3文件的形式,保存至当前角色的target信息中。
示例性的,以从“移动step步”这一基础积木块对应的内置函数对应关联到如图4所示的“缓慢移动step步”的情况为例,会在SB3文件中存入以下关联关系:
其中,“originalOpcode”表征内置函数,“proccode”表征自定义函数,而“motion_movesteps”为内置函数的名称,“缓慢移动step步”为自定义函数的名称。
编程平台静态分析SB3文件,得到可识别的上述关联关系。然后按照该关联关系,将函数调用引擎中当前的被调用函数(即当前被调用的函数)的函数名从“motion_movesteps”修改为“缓慢移动step步”,从而实现对于自定义函数“缓慢移动step步”的调用与执行。
其中,内置函数与自定义函数中均定义变量“step”,该内置函数与自定义函数均于一状态机关联,该状态机独立于函数外,用于供用户设置变量值,并将变量值传递给关联的内置函数与自定义函数。
通过上述方案,可拓展的scratch的基础积木块的功能能力,实现对于基础积木块的功能重写,提高了scratch语言的灵活性和创造性。
实施例三:
基于同一发明构思,本申请实施例中还提供函数执行装置700和积木块功能重写装置800。请参阅图7和图8所示,图7示出了采用图2所示的方法的函数执行装置,图8示出了采用图6所示的方法的积木块功能重写装置。应理解,装置700和装置800具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置700和装置800包括至少一个能以软件或固件的形式存储于存储器中或固化在装置700、装置800的操作系统中的软件功能模块。具体地:
参见图7所示,装置700应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数。装置700包括:
执行模块701,用于在接收到执行指令时,执行所述执行指令所指示的积木块对应的函数;其中:
所述执行指令所指示的积木块中,包含对应自定义函数的目标积木块;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数。
在本申请实施例的一种可行实施方式中,所述目标积木块为:函数对应关系从内置函数修改为所述自定义函数的基本积木块。
参见图8所示,装置800应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数。装置800包括:
获取模块801,用于获取为目标积木块编写的自定义函数;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数;所述目标积木块为所述多个基本积木块中的一个;
重定向模块802,用于在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数。
在本申请实施例中,重定向模块802具体用于,将所述自定义函数与所述目标积木块对应的内置函数关联,并保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系,在运行时阶段,根据所述关联关系,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数。
在本申请实施例中,重定向模块802具体用于,将所述自定义函数与所述目标积木块对应的内置函数之间的关联关系,以所述编程平台的文件格式要求,保存至存储文件中,对所述存储文件进行静态分析,得到所述函数调用引擎可以识别的所述关联关系,在根据所述关联关系,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数。
在本申请实施例的一种可行实施方式中,所述编程平台中提供有至少一个角色;重定向模块802具体用于,在当前角色对应的文件存储区域中,保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系。
在本申请实施例的一种可行实施方式中,重定向模块802还用于,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数之前,确定所述目标积木块所对应的自定义函数唯一。
在本申请实施例的一种可行实施方式中,装置800还可以包括删除模块,用于在接收到针对所述自定义函数的删除指令时,将所述目标积木块对应的被调用函数修改为该目标积木块对应的内置函数,并删除所述自定义函数对应的关联关系,以及删除所述自定义函数。
需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
实施例四:
本实施例提供了一种电子设备,参见图9所示,其包括处理器901和存储器902。其中:
处理器901用于执行存储器902中存储的一个或多个程序,以实现上述实施例一和/或实施例二中的函数执行方法,或积木块功能重写方法业。
可以理解,处理器901和存储器902之间可以是通过但不限于总线方式实现通信。
还可以理解,图9所示的结构仅为示意,电子设备还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。例如,电子设备中还可以具有显示屏等显示组件,还可以具有键盘等数据输入组件等。
本申请实施例中所述的电子设备可以是用户终端(如手机、电脑等设备),也可以是服务器等可以为终端提供服务的设备。
本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中的函数执行方法,或积木块功能重写方法。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种函数执行方法,其特征在于,应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数;所述方法包括:
在接收到执行指令时,执行所述执行指令所指示的积木块对应的函数;其中:
所述执行指令所指示的积木块中,包含对应自定义函数的目标积木块;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数。
2.如权利要求1所述的函数执行方法,其特征在于,所述目标积木块为:函数对应关系从内置函数修改为所述自定义函数的基本积木块。
3.一种积木块功能重写方法,其特征在于,应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数;所述方法包括:
获取为目标积木块编写的自定义函数;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数;所述目标积木块为所述多个基本积木块中的一个;
在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数。
4.如权利要求3所述的积木块功能重写方法,其特征在于,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数之前,所述方法还包括:
将所述自定义函数与所述目标积木块对应的内置函数关联,并保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系;
对应的,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数,包括:
在运行时阶段,根据所述关联关系,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数。
5.如权利要求4所述的积木块功能重写方法,其特征在于,保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系,包括:
将所述自定义函数与所述目标积木块对应的内置函数之间的关联关系,以所述编程平台的文件格式要求,保存至存储文件中;
对应的,在根据所述关联关系,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数之前,所述方法还包括:
对所述存储文件进行静态分析,得到所述函数调用引擎可以识别的所述关联关系。
6.如权利要求4所述的积木块功能重写方法,其特征在于,所述编程平台中提供有至少一个角色;
保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系,包括:
在当前角色对应的文件存储区域中,保存所述自定义函数与所述目标积木块对应的内置函数之间的关联关系。
7.如权利要求3-6任一项所述的积木块功能重写方法,其特征在于,在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数之前,所述方法还包括:
确定所述目标积木块所对应的自定义函数唯一。
8.如权利要求4-6任一项所述的积木块功能重写方法,其特征在于,所述方法还包括:
在接收到针对所述自定义函数的删除指令时,将所述目标积木块对应的被调用函数修改为该目标积木块对应的内置函数,并删除所述自定义函数对应的关联关系;
删除所述自定义函数。
9.一种函数执行装置,其特征在于,应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数;所述装置包括:
执行模块,用于在接收到执行指令时,执行所述执行指令所指示的积木块对应的函数;其中:
所述执行指令所指示的积木块中,包含对应自定义函数的目标积木块;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数。
10.一种积木块功能重写装置,其特征在于,应用于编程平台中,所述编程平台内提供有多个基本积木块,每个所述基本积木块对应一种内置函数;所述装置包括:
获取模块,用于获取为目标积木块编写的自定义函数;所述自定义函数为:根据所述编程平台所提供的内置函数进行组装后实现设定功能的函数;所述目标积木块为所述多个基本积木块中的一个;
重定向模块,用于在所述编程平台的函数调用引擎中,将所述目标积木块对应的被调用函数,从该目标积木块对应的内置函数修改为所述自定义函数。
11.一种电子设备,其特征在于,包括:处理器和存储器;
所述处理器用于执行存储器中存储的一个或者多个程序,以实现如权利要求1或2所述的函数执行方法,或实现如权利要求3至8任一项所述的积木块功能重写方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1或2所述的函数执行方法,或实现如权利要求3至8任一项所述的积木块功能重写方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210415168.3A CN114840198B (zh) | 2022-04-18 | 2022-04-18 | 函数执行方法、积木块功能重写方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210415168.3A CN114840198B (zh) | 2022-04-18 | 2022-04-18 | 函数执行方法、积木块功能重写方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114840198A true CN114840198A (zh) | 2022-08-02 |
CN114840198B CN114840198B (zh) | 2023-04-28 |
Family
ID=82566328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210415168.3A Active CN114840198B (zh) | 2022-04-18 | 2022-04-18 | 函数执行方法、积木块功能重写方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840198B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117086866A (zh) * | 2023-08-07 | 2023-11-21 | 广州中鸣数码科技有限公司 | 一种基于编程机器人的任务规划训练方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999017498A2 (en) * | 1997-09-30 | 1999-04-08 | Alcatel Usa Sourcing, L.P. | Services using call independent building blocks |
US20060263933A1 (en) * | 2005-05-20 | 2006-11-23 | Lsi Logic Corporation | Use of configurable mixed-signal building block functions to accomplish custom functions |
CN108310781A (zh) * | 2018-03-08 | 2018-07-24 | 广州途道信息科技有限公司 | 一种分级式电子积木、自编程方法及积木组合体 |
CN109710261A (zh) * | 2018-12-29 | 2019-05-03 | 深圳点猫科技有限公司 | 一种将积木代码自动转化为编程代码的方法及电子设备 |
CN111190589A (zh) * | 2019-12-26 | 2020-05-22 | 深圳市优必选科技股份有限公司 | 一种可视化的编程方法及终端设备 |
CN111475151A (zh) * | 2020-04-10 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 一种模块化编程的方法以及相关装置 |
CN113031939A (zh) * | 2021-04-28 | 2021-06-25 | 深圳市腾讯网域计算机网络有限公司 | 图形化编程工具中的积木块调整方法及相关装置 |
CN113094038A (zh) * | 2021-05-10 | 2021-07-09 | 乐聚(深圳)机器人技术有限公司 | 函数编程积木块的处理方法、装置、终端及存储介质 |
CN113608731A (zh) * | 2021-08-06 | 2021-11-05 | 乐聚(深圳)机器人技术有限公司 | 积木编程关卡更新方法、装置、终端设备及存储介质 |
CN113626308A (zh) * | 2021-07-06 | 2021-11-09 | 深圳点猫科技有限公司 | 一种代码调试方法、装置、电子设备及存储介质 |
CN113656015A (zh) * | 2021-06-30 | 2021-11-16 | 深圳点猫科技有限公司 | 一种基于图形化编程平台的积木标识方法、装置及设备 |
CN114327420A (zh) * | 2020-10-10 | 2022-04-12 | 福建天泉教育科技有限公司 | 一种图形化编程构建ui组合数据的方法及终端 |
-
2022
- 2022-04-18 CN CN202210415168.3A patent/CN114840198B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999017498A2 (en) * | 1997-09-30 | 1999-04-08 | Alcatel Usa Sourcing, L.P. | Services using call independent building blocks |
US20060263933A1 (en) * | 2005-05-20 | 2006-11-23 | Lsi Logic Corporation | Use of configurable mixed-signal building block functions to accomplish custom functions |
CN108310781A (zh) * | 2018-03-08 | 2018-07-24 | 广州途道信息科技有限公司 | 一种分级式电子积木、自编程方法及积木组合体 |
CN109710261A (zh) * | 2018-12-29 | 2019-05-03 | 深圳点猫科技有限公司 | 一种将积木代码自动转化为编程代码的方法及电子设备 |
CN111190589A (zh) * | 2019-12-26 | 2020-05-22 | 深圳市优必选科技股份有限公司 | 一种可视化的编程方法及终端设备 |
CN111475151A (zh) * | 2020-04-10 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 一种模块化编程的方法以及相关装置 |
CN114327420A (zh) * | 2020-10-10 | 2022-04-12 | 福建天泉教育科技有限公司 | 一种图形化编程构建ui组合数据的方法及终端 |
CN113031939A (zh) * | 2021-04-28 | 2021-06-25 | 深圳市腾讯网域计算机网络有限公司 | 图形化编程工具中的积木块调整方法及相关装置 |
CN113094038A (zh) * | 2021-05-10 | 2021-07-09 | 乐聚(深圳)机器人技术有限公司 | 函数编程积木块的处理方法、装置、终端及存储介质 |
CN113656015A (zh) * | 2021-06-30 | 2021-11-16 | 深圳点猫科技有限公司 | 一种基于图形化编程平台的积木标识方法、装置及设备 |
CN113626308A (zh) * | 2021-07-06 | 2021-11-09 | 深圳点猫科技有限公司 | 一种代码调试方法、装置、电子设备及存储介质 |
CN113608731A (zh) * | 2021-08-06 | 2021-11-05 | 乐聚(深圳)机器人技术有限公司 | 积木编程关卡更新方法、装置、终端设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
JORGE A. BAIER 等: "Knowledge-based programs as building blocks for planning" * |
谢光强 等: "面向创客教育的编程学习平台研究与应用" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117086866A (zh) * | 2023-08-07 | 2023-11-21 | 广州中鸣数码科技有限公司 | 一种基于编程机器人的任务规划训练方法及装置 |
CN117086866B (zh) * | 2023-08-07 | 2024-04-12 | 广州中鸣数码科技有限公司 | 一种基于编程机器人的任务规划训练方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114840198B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8769553B2 (en) | Deploy anywhere framework for heterogeneous mobile application development | |
US8347272B2 (en) | Call graph dependency extraction by static source code analysis | |
JP3407809B2 (ja) | コンピュータ・アプリケーション・ソフトウェアの自動化試験システム | |
US20240045850A1 (en) | Systems and methods for database orientation transformation | |
CN110531962B (zh) | 小程序的开发处理方法、设备及计算机可读存储介质 | |
CN103164300A (zh) | 一种移动终端触摸屏自动测试方法及装置 | |
CN111176629A (zh) | 一种应用开发的方法和装置 | |
CN107632929B (zh) | 一种检测内存泄漏的方法和装置 | |
US10452231B2 (en) | Usability improvements for visual interfaces | |
KR20170057264A (ko) | 멀티 컨텍스트 지능형 지원 기능을 갖는 코드 개발 툴 | |
CN111399840A (zh) | 一种模块开发方法及装置 | |
CN111381920A (zh) | 弹窗组件的显示方法、装置以及电子终端 | |
CN113986257A (zh) | 云平台前端管理界面部署方法、装置及存储介质 | |
CN114840198B (zh) | 函数执行方法、积木块功能重写方法及相关设备 | |
CN115525282A (zh) | 跨平台桌面应用程序的实现方法及其相关设备 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN108958873B (zh) | 状态栏沉浸式效果的配置方法、装置、介质和计算机设备 | |
CN110045952B (zh) | 代码调用方法与装置 | |
CN114201382A (zh) | 测试用例生成方法、装置、存储介质和电子设备 | |
CN109857642B (zh) | 一种ui自动化脚本的阻塞式调试方法及调试工具 | |
WO2020057265A1 (en) | Method and system for chat function development, terminal and computer readable storage medium | |
US11573787B1 (en) | Hot reloading a running application with an unsaved source code change | |
CN116028035A (zh) | 一种代码处理方法、前端页面开发系统及电子设备 | |
CN113535037A (zh) | 命令行终端交互展示方法、装置、计算机可读介质及设备 | |
CN113515441A (zh) | 应用信息采集方法、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |