2015-04-13 20 views
0

我閱讀了Ruby Enumerable分區,想重構我的信用卡驗證器項目。NoMethodError:使用分區枚舉時未定義的方法

class CreditCheck 

    attr_reader :number, :flipped, :split 

    def initialize(number) 
@number = number.split("").map { |s| s.to_i} 
end 

    def flip_number 
@flipped = @number.reverse 
    end 

    def check_validity 
@split = @flipped.partition.with_index { |x , index| 
    index.even?} 
@split 
    end 

end 

這將返回:

NoMethodError: undefined method `partition' for nil:NilClass 

關於如何解決此問題的任何幫助嗎?我相信我只是錯過了一個小細節。

回答

1

在check_validity方法頂替@flipped的方法flip_number

@split = flip_number.partition.with_index { |x , index| index.even?} 
+0

問題解決了!謝謝! – user3456553

相關問題