Я новичок в рубинрубин неопределенный метод `pair_push» для ноль: NilClass (NoMethodError)
Я создал свой собственный класс карты
class MyMap
attr_accessor :key,:value
def initialize
self.key = []
self.value = []
end
def pair_push(k, v)
self.key.push(k)
self.value.push(v)
end
...
end
И мой собственный объект JSon
class Json
attr_accessor :index,:data
def initialize
index=MyMap.new
data=MyMap.new
end
def create_index(_index, type, id)
index.pair_push("_index", _index)
index.pair_push("_type", type)
index.pair_push("_id", id)
end
def add_to_data(attName, value)
data.pair_push attName, value
end
...
end
Но когда я пытаюсь использовать add_to_data jsonDst.add_to_data(attributeName, arr[i])
Я получаю следующее сообщение об ошибке
helloWorld.rb:66:in `add_to_data': undefined method `pair_push' for nil:NilClass (NoMethodError)
Обратите внимание, прежде чем я призываю add_to_data я проверить, что attributeName != nil && arr[i] != nil
Это на самом деле действительно, из-за 'attr_accessor: индекс: data'. – August
@ Август право, исправится в секунду – GolfWolf
@ w0lf проверил это, и он работает благодаря –