经常我会在Ruby开发中遇到拼写错类名或方法名的时候,程序报错,但我不知道只是拼写错误,我会反复的咕噜:
“太奇怪了,看起来完全没问题呀…”
经常我会在这种事情上浪费大量的时间,而原因可能只是一个字符写错了。我痛恨这种事情。
这就是为什么我开发出 did_you_mean gem。使用它,每当你遇到NoMethodError 或 NameError 时,它会自动的寻找出你真正想调用的正确方法,并告诉你。 1 | gem 'did_you_mean' , group: [:development, : test ]
|
那么,当年拼写错了 ActiveSupport 里的 Hash#with_indifferent_access 后,会发生什么事情呢?: 1 2 3 4 5 | hash.with_inddiferent_access
|
看到了吧!现在,你只需要拷贝/粘贴 ‘did_you_mean’ 提示的正确名字,程序就不会有错了。
did_you_mean gem 会自动的把它推测出的信息显示在错误信息中。也就是说,“Did you mean?”gem 会在任何地方为你服务。下面是一个很典型的例子,是我在一个真实项目中它给出的错误提示:

你可以在GitHub的项目主页中找到更多的例子: yuki24/did_you_mean
赶快使用 did_you_mean gem 吧,不再为拼写错误发愁。Ruby将会读懂你的思想。 |