У меня есть хеш @log
, ключом которого является дата, а значением является массив LogItem
объектов, каждый из которых имеет дату и имя.
Я попытался удалить объект из значения хеша и вернуть удаленный объект. Я думал, что reject!
и delete_if
методы возвращают объект, который они удалили из массива, и пробовал это:
def remove_logItem(name, date)
@log[date] #=> {2008-09-12 => "Apple"}
array = @log[date].reject! {|logItem| logItem.name == name}
@log[date] #=> []
array[0].nil? #=> true
return array[0]
end
Возвращает nil
, но все равно удаляет объект. Я что-то неправильно понимаю? Если так, есть ли другой способ вернуть объект после удаления его из массива?