У меня проблема с выводом из функции S3. Я пытаюсь перегрузить функцию «+», чтобы действовать с двумя векторами, как с полиномиальными параметрами. Это мой университетский проект. Код ниже:
'+.ply' <- function(a,b){
size <- max(length(a$polynomial),length(b$polynomial))
size
aAdd <- a$polynomial
bAdd <- b$polynomial
if (length(aAdd) == size) {
aAdd = aAdd
} else {
length(aAdd) <- size
}
aAdd[is.na(aAdd)] <- 0
if (length(bAdd) == size) {
bAdd = bAdd
} else {
length(bAdd) <- size
}
bAdd[is.na(bAdd)] <- 0
cat("Polynomial of degree ", paste(length(aAdd+bAdd)-1),
" with coefficients ", paste(aAdd+bAdd))
}
Код работает нормально, но, в свою очередь, выдает вывод
*Polynomial of degree 3 with coefficients 3 4 6 3NULL*
Мне нужно использовать cat, чтобы избежать индекса [1], который появляется, когда я использую комбинацию print, paste. Я знаю, что существует множество потоков по этой проблеме, но я не могу найти решение этой проблемы во время перегрузки функций. Буду благодарен за помощь.