你能问红宝石把警告视为错误吗?

前端之家收集整理的这篇文章主要介绍了你能问红宝石把警告视为错误吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
红宝石是否允许您将警告视为错误

我想这样做的一个原因是确保如果删除一行代码意味着发生警告,我可以选择确保突变体被杀死.

解决方法

不幸的是,这不是真正的方法,至少在大多数版本的 Ruby中(可能存在变体),缺少监视程序输出并在标准错误出现警告时中止它.这就是为什么:

Ruby定义了Kernel.warn,您可以重新定义自己想要的内容(包括退出),以及Ruby希望如何(希望)一致地使用Ruby来报告警告(包括内部的解析警告),但是
在Ruby内部实现(在C中)的方法反过来会直接从source / server.c调用一个名为rb_warn的本地方法,完全绕过了对Kernel.warn的重新定义(例如,“条件中的字符串字面量”警告,例如发出当做这样的事情:do_something如果’string’,通过源/ parse.c的本机rb_warn打印)
>使事情变得更糟,还有一个额外的rb_warning本机方法,Ruby可以使用它来记录如果-w或-v被指定的警告.

所以,如果你只需要根据应用程序代码调用Kernel.warn生成的警告来执行操作,那么只需重新定义Kernel.warn.否则,你有两个选择:

> alter source / error.c在rb_warn和rb_warning(和rb_warn_m?)中退出,并重建Ruby>监视程序的’:warning:’的标准错误输出,并在匹配时中止它

猜你在找的Ruby相关文章