2

Ruby 的鸭式打字很棒,但这是它咬我屁股的一种方式。我将运行一些长时间运行的文本处理脚本或运行某些东西,几个小时后,NoMethodError由于变量变为nil.

现在,一旦发生,通常很容易解决,但如果我能更好地预测这些错误,或者至少更优雅地处理这些类型的错误,那就更好了。抱歉这个问题含糊不清,但是这种类型的错误对我来说太频繁了,我想知道是否有避免它的好方法。

是否有一些与 Ruby 的这些“类型错误”相关的最佳实践?

4

2 回答 2

3

查找按合同设计。它在许多编程范例中很有用,但当您没有编译器来帮助您捕获这些错误时,它特别有用,即禁止参数的特定类型的值。

本质上,DbC 允许您对参数做出假设。它允许你(除了一个地方)跳过保证这个假设成立的平凡检查。

于 2010-09-28T02:56:14.713 回答
0

Object.nil 呢?

于 2010-09-27T18:53:47.010 回答