R/sequences.R

Defines functions InfiniteSequence getitem getitem.InfiniteSequence

InfiniteSequence <- function(fun){
  me <- list(
    fun = fun
  )
  
  class(me) <- append(me, "InfiniteSequence")
  return(me)
}

getitem <- function(self, n){
  UseMethod("getitem")
}

getitem.InfiniteSequence <- function(self, n){
  if (n == as.integer(n)){
    return(self$fun(n))
  } else{
    stop("Index to a sequence must be an integer.")
  }
}
hayate0304/Rsymbulate documentation built on May 17, 2019, 8:20 a.m.