微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有人发明过一种编程环境或尝试过一种编程环境,在该环境中,函数等的拼写可能是近似的?

如何解决有没有人发明过一种编程环境或尝试过一种编程环境,在该环境中,函数等的拼写可能是近似的?

我正在尝试(并且失败)找到对语言或环境或编辑器插件的引用,而程序员不必正确地拼写方法/对象/等...。

相反,该语言在查找过程中使用智能试探法,并在给定上下文的情况下为呼叫选择最可能的解释。

这无需更改源代码!就是不是拼写检查器-源代码按原样保存。

有人造过类似的东西吗?我在哪里/如何找到它?

解决方法

是的。 DWIM mode,Teitelman,1966年。

(请注意,对于LISP系统,编程语言和用户界面之间的界限不一定是清晰的)

,

好吧,我最初在this tweet中看到了这段代码:

>>> def method_missing(n,*a,&b); send(methods.min_by { |m| levenshtein(n.to_s,m.to_s) },&b); end
>> p [1,2,3].elngth
3

该代码正在执行的操作是重写ruby的method_missing方法,如果使用某个对象上不存在的方法调用该对象,则会调用该方法。在被覆盖的method_missing方法内部,它正在查看给定对象上的所有方法,并找到名称最短的Levenshtein distance的方法,然后调用它,并假定它正是程序员的意思! / p>

第二行然后说明,这将导致在调用不存在的length方法时调用Array上的elngth方法。

根据this answer,代码是否真正起作用而不是进入无限递归循环似乎在很大程度上取决于您的特定红宝石环境。

,

在编译时,我不敢以此来信任计算机。

某些IDE确实会检测拼写错误并在让您进行编译之前提供建议,我认为这是处理此类情况的最佳方法。

最近,我一直在考虑创建一个开发环境,在该环境中,您实际上告诉计算机要使用的应用程序,功能和接口以及为您创建的应用程序,并尽可能地猜测出您实际想要和想要的。我正处于研究阶段,了解有关NLP和机器学习的更多信息。

,

我认为通过将简单的递归贝叶斯定理应用于由单词(函数和关键字)数据集建立的条件概率图上,我们可以在Peter的spell.pi线上设计一个有用的代码拼写校正器诺维格。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。