From soeren.vogel at posteo.ch  Mon May  4 14:52:56 2015
From: soeren.vogel at posteo.ch (soeren.vogel at posteo.ch)
Date: Mon, 4 May 2015 14:52:56 +0200
Subject: [Rd] Define replacement functions
Message-ID: <925F72C7-1611-4AE5-911B-D4DA89D180B9@posteo.ch>

Hello

I tried to define replacement functions for the class "mylist". When I test them in an active R session, they work -- however, when I put them into a package, they don't. Why and how to fix?


make_my_list <- function( x, y ) {
	return(structure(list(x, y, class="mylist")))
}
mylist <- make_my_list(1:4, letters[3:7])
mylist
mylist[['x']] <- 4:6
mylist
"[[<-" <- function(x, field, value) {
	UseMethod('[[<-', x)
}
"[[<-.mylist" <- function(x, field, value) {
	stop( "Do not assign." )
}
mylist[['x']] <- 1:10
mylist
mylist$y <- LETTERS[1:3]
mylist
"$<-" <- function(x, field, value) {
	UseMethod('$<-', x)
}
"$<-.mylist" <- function(x, field, value) {
	stop( "Do not assign." )
}
mylist$y <- LETTERS[10:15]


Thanks for help
S?ren


[Rd] Define replacement functions
soeren.vogel at posteo.ch