脚本语言映射方法、电子设备及可读存储介质技术

技术编号:25834204 阅读:33 留言:0更新日期:2020-10-02 14:15
本发明专利技术实施例提供了一种脚本语言映射方法、电子设备及可读存储介质,方法包括:当执行脚本文件中的目标函数时,确定与目标函数对应的调用函数,通过调用函数从通信栈获取目标函数的两个预设参数,并判断对象标识对应的对象是否实现与对象方法名对应的对象方法,若对象标识对应的对象未实现与对象方法名对应的对象方法,则禁止执行对象方法。也即即使当执行脚本文件中的目标函数时,不直接根据元表中的映射关系确定与目标函数对应的方法,而是确定调用函数,在判断出对象标识对应的对象未实现与对象方法名对应的对象方法的情况下,禁止执行所述对象方法,从而避免脚本文件执行失败以及应用程序运行异常的问题。

【技术实现步骤摘要】
脚本语言映射方法、电子设备及可读存储介质
本专利技术涉及计算机
,特别是涉及一种脚本语言映射方法、电子设备及可读存储介质。
技术介绍
随着互联网的快速发展,智能电子设备已经成为人们生活中不可或缺的工具之一。电子设备的广泛应用,电子设备上的应用程序也随着用户的需求进行资源更新。现有技术中,如果需要更新应用程序的版本,需要服务器向电子设备(例如智能手机)下发与版本对应的脚本文件,电子设备根据脚本文件对应用程序的版本进行更新。应用程序的版本包括旧版本和新版本,如果服务器向安装了应用程序的旧版本的电子设备发送的脚本文件与旧版本不对应,例如,脚本文件中存在用于表示新类的新类符号和新类的新函数的新函数符号,但是电子设备的应用程序的旧版本中并未定义新类符号与旧版本中的某个类的映射关系,新函数符号与旧版本中的该类的方法的映射关系,则该电子设备在执行脚本文件的过程中会造成应用程序运行异常的问题。
技术实现思路
本专利技术实施例的目的在于提供一种脚本语言映射方法、电子设备及可读存储介质,以实现服务器向安装了应用程序的旧版本的电子设备发送的脚本文件本文档来自技高网...

【技术保护点】
1.一种脚本语言映射方法,其特征在于,执行于电子设备,包括:/n当执行应用程序的脚本文件中的目标函数时,确定与所述目标函数对应的调用函数,其中,所述脚本文件为通过脚本语言编写的,所述调用函数为通过编译语言编写的函数;/n通过所述调用函数从所述脚本语言与所述编译语言之间的通信栈获取所述目标函数的两个预设参数,其中,所述两个预设参数包括所述目标函数对应的对象标识和所述对象标识对应的对象方法名;/n判断所述对象标识对应的对象是否实现与所述对象方法名对应的对象方法;/n若所述对象标识对应的对象未实现与所述对象方法名对应的对象方法,则禁止执行所述对象方法。/n

【技术特征摘要】
1.一种脚本语言映射方法,其特征在于,执行于电子设备,包括:
当执行应用程序的脚本文件中的目标函数时,确定与所述目标函数对应的调用函数,其中,所述脚本文件为通过脚本语言编写的,所述调用函数为通过编译语言编写的函数;
通过所述调用函数从所述脚本语言与所述编译语言之间的通信栈获取所述目标函数的两个预设参数,其中,所述两个预设参数包括所述目标函数对应的对象标识和所述对象标识对应的对象方法名;
判断所述对象标识对应的对象是否实现与所述对象方法名对应的对象方法;
若所述对象标识对应的对象未实现与所述对象方法名对应的对象方法,则禁止执行所述对象方法。


2.根据权利要求1所述的方法,其特征在于,所述调用函数包括第一调用函数和所述第二调用函数中的任意一种,在所述当执行应用程序的脚本文件中的目标函数时,确定与所述目标函数对应的调用函数之前,还包括:
根据预设索引,确定所述通信栈的环境变量区;
将采用所述脚本语言定义的第一函数和第二函数推入所述环境变量区,并建立所述第一函数与所述第一调用函数的第一映射关系、以及所述第二函数与所述第二调用函数的第二映射关系,并将所述第一映射关系和所述第二映射关系注册至所述环境变量区,其中,所述第一函数用于调用通过所述编译语言编写的任意实例方法,所述第二函数用于调用通过所述编译语言编写的任意类方法;
所述当执行应用程序的脚本文件中的目标函数时,确定与所述目标函数对应的调用函数,包括:
当执行所述应用程序的脚本文件中的目标函数时,根据所述环境变量区中注册的所述第一映射关系、以及所述第二映射关系,确定与所述目标函数对应的调用函数。


3.根据权利要求2所述的方法,其特征在于,所述当执行所述目标函数时,根据所述环境变量区中注册的所述第一映射关系、以及所述第二映射关系,确定与所述目标函数对应的调用函数,包括:
当所述目标函数为所述第一函数时,根据所述环境变量区中注册的所述第一映射关系、以及所述第二映射关系,将所述第一调用函数作为与所述目标函数对应的调用函数;或者,
当所述目标函数为所述第二函数时,根据所述环境变量区中注册的所述第一映射关系、以及所述第二映射关系,将所述第二调用函数作为与所述目标函数对应的调用函数。


4.根据权利要求3所述的方法,其特征在于,在将所述第一调用函数作为与所述目标函数对应的调用函数的情况下,所述对象标识为实例对象标识,所述对象方法名为实例方法名;或者,
在将所述第二调用函数作为与所述目标函数对应的调用函数的情况下,所述对象标识为类对象标识,所述对象方法名为类方法名。


5.根据权利要求2或3所述的方法,其特征在于,还包括:
若所述对象标识对应的对象实现了与所述对象方法名对应的对象方法,则根据所述对象标识和所述对象方法名,创建与对象方法名对应的方法签名;
判断所述通信栈中是否存在所述目标函数的剩余参数,其中,所述剩余参数为所述目标函数的除所述两个预设参数之外的参数;
若存在所述剩余参数,则从通信栈中取出所述剩余参数,并根据所述方法签名,转换所述剩余参数的类型;
根据类型转换后的剩余参数执行所述方法签名对应的方法。


6.根据权利要求5所述的方法,其特征在于,所述根据所述方法签名,转换所述剩余参数的类型,包括:
根据所述方法签名,确定所述剩余参数中的每个参数的类型;
将目标参数转换成与所述目标参数的类型相同的参数,其中,所述目标参数见为所述每个参数中的任意一个。


7.根据权利要求5或6所述的方法,其特征在于,所述剩余参数的类型包括整形、字符串、字典以及对象类型中的至少一种,所述对象类型为实例对象类型或类对象类型。


8.一种电子设备,其特征在于,包括:
第一确定模块,用于当执行应用程序的脚本文件中的目标函数时,确定与所述目标函数对应的...

【专利技术属性】
技术研发人员:董熠
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

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

1