Kiedy piszesz funkcje, czasami celem funkcji jest wydrukowanie wyników na konsoli; czasami celem jest wyeksportowanie obiektu – który zostanie zapisany na konsoli, jeśli nie zostanie przypisany do obiektu; a czasami potrzebne są oba typy wyników. Funkcje print () i cat () zapisują do konsoli. Aby wyprowadzić obiekt, obiekt musi być ostatnią instrukcją w funkcji. Na przykład:
> a.function = function () {
drukuj (1: 3)
drukuj (5: 6)
}
> a.funkcja ()
[1] 1 2 3
[1] 5 6
> a.result = a.function ()
[1] 1 2 3
[1] 5 6
> a. wynik
[1] 5 6
Ponieważ w przykładzie dwie sekwencje znajdują się w funkcjach drukowania, sekwencje są drukowane niezależnie od tego, czy ma miejsce przypisanie, czy nie. Zauważ, że tylko druga sekwencja jest przypisana do obiektu a.result, ponieważ instrukcja print dla drugiej sekwencji jest ostatnią instrukcją w funkcji przed nawiasem zamykającym. Na przykład funkcja print () została usunięta:
> a.function = function () {
1: 3
5: 6
}
> a.funkcja ()
[1] 5 6
> a.result = a.function ()
> a. wynik
[1] 5 6
W tym przykładzie, ponieważ nie ma funkcji print (), sekwencje nie są drukowane. Funkcja zwraca drugą sekwencję, będącą ostatnią instrukcją.