これがよくある質問であることは知っていますが、他のスタック オーバーフローに関する質問を読んだ後では、わかりません。
例: ある範囲の数値に対する最小公倍数関数 (Project Euler #5) を作成していますが、これらの関数の 1 つが機能し、もう 1 つがエラーをスローする理由がわかりません。
作品:
fact_list2 = fact_list2.reject {|i| i == reject1}
count2 = length2 - fact_list2.length()
nil:NilClass (NoMethodError) に対して未定義のメソッド「長さ」のエラーをスローします。
count2 = length2 - fact_list2.reject! {|i| i == reject1}.length()
この上で、fact_list2 が配列であることを確認しましたが、違いはないようです。ここで何が欠けていますか?