2

Ruby のダックタイピングは素晴らしいですが、これは私が尻を噛む唯一の方法です。長時間実行されるテキスト処理スクリプトまたは何かを実行すると、数時間後に予期しない一連の状況が発生NoMethodErrorし、変数が になるためにスクリプトが at で終了しますnil

いったん問題が発生すると、通常は簡単に修正できますが、これらをより適切に予測するか、少なくともこれらの種類のエラーをより適切に処理できれば、より良い結果が得られます。質問があいまいで申し訳ありませんが、この種のエラーは私にはあまりにも頻繁に発生するため、それを回避する良い方法があるかどうか疑問に思っています.

Ruby のこの種の「型エラー」に関連するベスト プラクティスはありますか?

4

2 に答える 2

3

契約による設計を参照してください。これは多くのプログラミング パラダイムで役立ちますが、これらの種類のエラーをキャッチするのに役立つコンパイラがない場合、パラメーターの特定の種類の値を禁止する場合に特に役立ちます。

本質的に、DbC を使用すると、パラメーターについて仮定を立てることができます。これにより、(1 か所を除くすべての場所で) この仮定が成り立つことを保証するありふれたチェックをスキップできます。

于 2010-09-28T02:56:14.713 に答える
0

Object.nil はどうですか?

于 2010-09-27T18:53:47.010 に答える