In [1]:
square_integer <- function(i) {
    stopifnot(is.integer(i) && length(i) == 1)
    i^2
}

In [2]:
square_integer(1L)


1

In [3]:
square_integer(1:3)


Error: is.integer(i) && length(i) == 1 is not TRUE
Traceback:

1. square_integer(1:3)
2. stopifnot(is.integer(i) && length(i) == 1)   # at line 2 of file <text>
3. stop(msg, call. = FALSE, domain = NA)

In [4]:
square_integer(1.0)


Error: is.integer(i) && length(i) == 1 is not TRUE
Traceback:

1. square_integer(1)
2. stopifnot(is.integer(i) && length(i) == 1)   # at line 2 of file <text>
3. stop(msg, call. = FALSE, domain = NA)

In [7]:
set_first_element_of_vector_to_zero <- function(vector_argument) {
    vector_argument[1] <- 0L
    NULL
}

In [11]:
x <- 1:3
x
invisible(set_first_element_of_vector_to_zero(x))
x


  1. 1
  2. 2
  3. 3
  1. 1
  2. 2
  3. 3

In [ ]: