uvm_spell_chkr,基类,用于uvm相关字符串拼写检查。该类中主要实现了两个方法:checklevenshtein_distance

  check。若待检查的字符串s已存在于字符串表strtab中,直接返回1,否则逐个对比strtab中的字符串与字符串s。strtab中的字符串key与待检查字符串s比对过程如下:

  1. 求取key和s的levenshtein距离distance
  2. 若举例小于0,表明key、s中有字符串未空,退出比较,否则继续
  3. 若distance小于前一最小距离min(默认1),清空字符串队列min_key并压入字符串key,退出比较,否则继续
  4. 若distance等于前一最小距离min(默认1),字符串key压入字符串队列min_key
  5. 把min_key中的所有字符串压入新的字符串队列q,两字符串之间以“|”隔开,打印q(给出最相似的字符串)
    》6. 返回0

  levenshtein_distance,标准的求莱文斯坦距离的算法,不多介绍了。levenshtein distance表征了两个字符串的相似程度,距离越小越相似。

  用武之地:uvm_config_db支持通配符,记得不,就用了这个uvm_spell_chkr。

  示例用法:


  测试结果 ↓:

【UVM源码学习】uvm_spell_chkr相关推荐

  1. 【UVM源码学习】uvm_comparer

      uvm_comparer是个基类,提供了对象object比较的策略,比较结果(比较次数.成功与否)保存在comparer object中.uvm_object::compare及uvm_objec ...

  2. 【UVM源码学习】uvm_resource_db

      使用uvm_resource_base或uvm_resource来set/get resource时,往往需要多行code才能实现,uvm_resource_db则提供了一组接口,用一行代码实现r ...

  3. UVM源码分析之factory机制详解

    前言 作者在学习了一段时间的UVM factory源码之后写下此文,旨在记录自己的学习成果,毕竟好记性不如烂笔头嘛,当然如果能帮助到对这部分有疑惑的同仁就更好了.作者是在笔记本电脑上的windows环 ...

  4. Shiro源码学习之二

    接上一篇 Shiro源码学习之一 3.subject.login 进入login public void login(AuthenticationToken token) throws Authent ...

  5. Shiro源码学习之一

    一.最基本的使用 1.Maven依赖 <dependency><groupId>org.apache.shiro</groupId><artifactId&g ...

  6. mutations vuex 调用_Vuex源码学习(六)action和mutation如何被调用的(前置准备篇)...

    前言 Vuex源码系列不知不觉已经到了第六篇.前置的五篇分别如下: 长篇连载:Vuex源码学习(一)功能梳理 长篇连载:Vuex源码学习(二)脉络梳理 作为一个Web前端,你知道Vuex的instal ...

  7. vue实例没有挂载到html上,vue 源码学习 - 实例挂载

    前言 在学习vue源码之前需要先了解源码目录设计(了解各个模块的功能)丶Flow语法. src ├── compiler # 把模板解析成 ast 语法树,ast 语法树优化,代码生成等功能. ├── ...

  8. 2021-03-19Tomcat源码学习--WebAppClassLoader类加载机制

    Tomcat源码学习--WebAppClassLoader类加载机制 在WebappClassLoaderBase中重写了ClassLoader的loadClass方法,在这个实现方法中我们可以一窥t ...

  9. jQuery源码学习之Callbacks

    jQuery源码学习之Callbacks jQuery的ajax.deferred通过回调实现异步,其实现核心是Callbacks. 使用方法 使用首先要先新建一个实例对象.创建时可以传入参数flag ...

最新文章

  1. CTO 写的代码,真是绝了
  2. 机器学习丨15个最流行的GitHub机器学习项目
  3. android 平板安装程序开发者,android – 限制平板电脑中的应用安装
  4. 一起来开发Android的天气软件(二)——使用LitePal搭建数据库
  5. python 3.10 新增 switch-case 简介
  6. [转]Create Custom Exception Filter in ASP.NET Core
  7. 流媒体的未来——视频技术如何演变
  8. 主板usb模式启动快捷键大全
  9. github 建立_建立在线社区:GitHub教师
  10. 利用CVE-2019-1040 - 结合RCE和Domain Admin的中继漏洞
  11. 数据状态更新时的差异 diff 及 patch 机制
  12. 述职答辩提问环节一般可以问些什么_陕西省高级职称评审,90%的人都“死”在答辩上?...
  13. Kudu:支持快速分析的新型Hadoop存储系统
  14. python刷今日头条阅读量_揭露头条刷阅读量内幕:怎么刷的今日头条阅读量
  15. roseha修改服务器ip地址,roseha 9.0 for windows维护手册_v2.0-2015-04.pdf
  16. ps排版html,排版教程,超详细适合初学者的排版教程
  17. 计算机office高级应用都考啥,office高级应用考什么 评分标准是什么
  18. java / js 里的 st1.indexOf( str ) -1,在 python 里得用 st1.find( str ) -1 来实现
  19. 批量搜索多个excel文件
  20. 名帖35 吴叡 隶书《离骚》

热门文章

  1. opencv如何把16位图像转换为8位图像
  2. 西班牙专线物流有哪些运输方式 西班牙专线物流有哪些优点和缺点
  3. 西单女孩首唱《光明的路途》
  4. 香奈儿创始人嘉柏丽尔:我自己决定想成为谁,这就是我
  5. 2021 Google 开发者大会即将登陆:年度盛会,先睹为快!
  6. 007 计算机系统知识——计算机可靠性计算
  7. Location理解
  8. Auth2 授权登陆
  9. meteor check
  10. 企业为什么需要UI快速开发框架