当前位置: 首页 > 专利查询>韩真专利>正文

一种命令行中浏览编辑对象的方法技术

技术编号:20654921 阅读:33 留言:0更新日期:2019-03-23 06:40
本发明专利技术涉及到程序设计技术领域,尤其涉及一种命令行中浏览编辑对象的方法。该本发明专利技术设计了一种命令行中浏览编辑对象的方法,该命令行中浏览编辑对象的方法解决了命令行中普通打印对象无法显示全部的问题;提供了优雅的探索式浏览方案,可以对于nodejs内存当中的任意对象进行探索。提供按照命令探索,全面打印,缩略打印,自动浏览等浏览方式;解决了命令行中运行时无法更改内存对象的问题。可以更改任意对象的任意字段。当然,要在恰当的时机使用;为各种编程调试,服务器线上维护,提供了一种较好的解决方案,有助于提高开发效率,运维排错效率和内容运营效率。

【技术实现步骤摘要】
一种命令行中浏览编辑对象的方法
本专利技术涉及到程序设计
,尤其涉及一种命令行中浏览编辑对象的方法。
技术介绍
在nodejs命令行环境中,如果一个对象内部所包含的内容过多,属性的深度过深,会导致在命令行打印的时候无法看到过深的内容(被忽略了),或者在一般的查看情况下查看具体内容很不方便。这个问题是一个本质的问题。因为一个对象的展开深度理论上可以无限之深。如果将其全部打印下来,命名行无法容纳。同时,如果在nodejs运行的过程中,需要程序停下来在命令行中实时地更改某个对象的内容,现有的方法无法做到。我们提出一种探索式浏览编辑对象的方法,这样可以提供一种交互式的浏览方式,使得对象的不同部分,不同深度层级可以逐渐地展开。而用户可以在这种交互式的浏览过程中选择自己感兴趣的方面进行浏览,不必担心一次性从过多的内容中选择从而找不到自己要看的内容。同时,我们提供的编辑对象的方式,也使得运行时从命令行编辑对象成为可能,成为编程调试和服务器线上维护的有力方法。为了解决上述技术问题,本专利技术设计了一种命令行中浏览编辑对象的方法,该命令行中浏览编辑对象的方法解决了命令行中普通打印对象无法显示全部的问题;提供了优雅的探索式浏览方案,可以对于nodejs内存当中的任意对象进行探索。提供按照命令探索,全面打印,缩略打印,自动浏览等浏览方式;解决了命令行中运行时无法更改内存对象的问题。可以更改任意对象的任意字段。当然,要在恰当的时机使用;为各种编程调试,服务器线上维护,提供了一种较好的解决方案,有助于提高开发效率,运维排错效率和内容运营效率。
技术实现思路
为了克服
技术介绍
中存在的缺陷,本专利技术解决其技术问题所采用的技术方案是:一种命令行中浏览编辑对象的方法,其特征在于其步骤为:(1)、首先,在命令行环境中实现一个REPL环境,也就是Read-Eval-Print-Loop,这个REPL环境能够接受不同的命令注册,每当敲入不同的命令时,可以进行相应命令的执行函数,执行结束之后,可以等待用户的输入,再次接受新的命令;(2)、在REPL环境中注册如下的命令及其执行函数:1、pwd命令,含义是列出当前所在的对象路径;2、cd命令,参数是子路径subpath,含义是进入指定路径,如果子路径为空,则为当前路径,如果子路径为’..’,则跳转到上一层路径,如果子路径为’...’,则跳转到浏览开始的路径,如果指定路径不存在,则输出‘指定路径不存在’;3、ls命令,参数是子路径subpath,含义是列出指定路径下所看到的当前对象的展开可能性,包括对象类对象和一般对象,两者用不同颜色表示,仅列出指定路径的情况,并不进入该路径;4、v命令,参数是子路径subpath,含义是对于指定路径中的对象执行view操作,而不进入该路径,View的意思就是利用js默认的屏幕打印方式打印全部内容;5、vs命令,参数是子路径subpath,横向展开宽度k,纵向展开深度h,含义是对于指定路径中的对象进行view_summary操作,而不进入该路径,View_summary的意思就是利用我们给出的缩略模式对于对象进行查看,这一缩略模式的意义在于对于每个层级的子对象展开,仅打印前K个子对象,并且递归如此,最大递归深度为,K默认为5,H默认为4,因为js默认的屏幕打印方式最多只会显示4层内容;6、keys命令,参数是子路径subpath,含义是列出指定路径的对象的所有键,等价于ls+子路径;7、values命令,参数是子路径subpath,含义是列出指定路径的对象的所有值;对于每个值,调用js默认的屏幕打印方式,如果该对象不是object类型,则报告该对象不是object类型;8、auto命令,参数是子路径subpath,含义是对于指定路径的对象,进行自动浏览auto操作;Auto操作的意思是,对于对象进行广度优先遍历;对于每个遍历的对象,进行view_summary操作;并且列出每个当前对象的所在路径;从而实现自动化的浏览对象的所有内容;因为这个浏览过程可能会是无限或者超级长的;所以提供ctrl+C的退出模式;9、replace命令,参数是子路径subpath,替换为的内容obj,含义是对于指定路径的对象,进行完全的替换;替换为obj的对象;可以对根对象进行完全的替换;10、update命令,参数是子路径subpath,更新的内容obj,含义是对于指定路径的对象,进行更新操作;更新操作不会完全替换原有内容,只是使得相应的键上确定为相应的值obj;11、remove命令,参数是子路径subpath,含义是对于指定路径的对象,进行删除操作,删除后该路径不再存在。算法列表:算法Main(R)主干算法输入:1.根据ObjectExplorer函数入口的对象为R。准备参数:2.设置当前路径current_path为””。算法:3.REPL接受命令。如果命令为:4.‘pwd’:则打印当前对象的路径current_path5.‘cd+子路径subpath’:则测试指定路径是否存在(算法CheckPath(入口对象R,当前路径current_path+子路径subpath))。如果存在,则将当前路径current_path设置为current_path+子路径。6.‘ls+子路径subpath’:测试指定路径是否存在。如果存在,且其对象为O,则列举O对象的所有键(利用Object.keys(O))进行打印。打印时对于这些键的每个值进行类型判断。如果其类型为object,则打印为白色,如果为其他类型,则打印为蓝色。7.‘v+子路径subpath’:测试指定路径是否存在。如果存在,且其对象为O,则调用系统默认打印函数console.log打印O对象。8.‘vs+子路径subpath+横向展开宽度k+纵向展开深度h’:测试指定路径是否存在。如果存在,且其对象为O,则调用ViewSummary(O,k,h)算法进行缩略式打印。9.‘keys+子路径subpath’:等价于‘ls+子路径subpath’命令。10.‘values+子路径subpath’:测试指定路径是否存在。如果存在,且其对象为O,则列举O对象的所有值(利用Object.keys(O)得到所有键之后,在对象O上进行map得到所有values)进行打印。11.‘auto+子路径subpath’:测试指定路径是否存在。如果存在,且其对象为O,对于对象O进行广度优先遍历。对于每个遍历的对象,列出它的所在路径(pwd),进行ViewSummary操作。12.‘replace+子路径subpath+希望替换为的内容obj’:测试指定路径是否存在。如果存在,且其对象为O,则将该对象的所有键清空,然后将obj的每个键值对赋予给对象O。13.‘update+子路径subpath+希望更新的内容obj’:测试指定路径是否存在。如果存在,且其对象为O,则将obj的每个键值对赋予给对象O,并不清空O的原有键。14.‘remove+子路径subpath’:测试指定路径是否存在。如果存在,且其对象为O,则删除该对象。如果子路径subpath为空,即,当前路径对象被删除,则利用CheckPath(R,path+‘..’)上跳一级到达父对象,同时设定当本文档来自技高网...

【技术保护点】
1.一种命令行中浏览编辑对象的方法,其特征在于其步骤为:(1)、首先,在命令行环境中实现一个REPL环境,也就是Read‑Eval‑Print‑Loop,这个REPL环境能够接受不同的命令注册,每当敲入不同的命令时,可以进行相应命令的执行函数,执行结束之后,可以等待用户的输入,再次接受新的命令;(2)、在REPL环境中注册如下的命令及其执行函数:

【技术特征摘要】
1.一种命令行中浏览编辑对象的方法,其特征在于其步骤为:(1)、首先,在命令行环境中实现一个REPL环境,也就是Read-Eval-Print-Loop,这个REPL环境能够接受不同的命令注册,每当敲入不同的命令时,可以进行相应命令的执行函数,执行结束之后,可以等待用户的输入,再次接受新的命令;(2)、在REPL环境中注册如下的命令及其执行函数:<1>、pwd命令,含义是列出当前所在的对象路径;<2>、cd命令,参数是子路径subpath,含义是进入指定路径,如果子路径为空,则为当前路径,如果子路径为’..’,则跳转到上一层路径,如果子路径为’...’,则跳转到浏览开始的路径,如果指定路径不存在,则输出‘指定路径不存在’;<3>、ls命令,参数是子路径subpath,含义是列出指定路径下所看到的当前对象的展开可能性,包括对象类对象和一般对象,两者用不同颜色表示,仅列出指定路径的情况,并不进入该路径;<4>、v命令,参数是子路径subpath,含义是对于指定路径中的对象执行view操作,而不进入该路径,View的意思就是利用js默认的屏幕打印方式打印全部内容;<5>、vs命令,参数是子路径subpath,横向展开宽度k,纵向展开深度h,含义是对于指定路径中的对象进行view_summary操作,而不进入该路径,View_summary的意思就是利用我们给出的缩略模式对于对象进行查看,这一缩略模式的意义在于对于每个层级的子对象展开...

【专利技术属性】
技术研发人员:韩真
申请(专利权)人:韩真
类型:发明
国别省市:江苏,32

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

1