If you want to set a slot you have to refer to it: ac@CustomerID <- “54321”
or you use your setter: ac <- CustomerID(ac, “54321”) What you did was creating a new symbol CustomerID referring to the String “54321” CustomerID <- “54321” CustomerID [1] “54321” Best Simon On 09 Nov 2013, at 15:31, daniel schnaider <dschnai...@gmail.com> wrote: > It is my first time programming with S4 and I can't get the setter fuction > to actually change the value of the slot created by the constructor. > > I guess it has to do with local copy, global copy, etc. of the variable - > but, I could't find anything relevant in documentation. > > Tried to copy examples from the internet, but they had the same problem. > > # The code > setClass ("Account" , > representation ( > customer_id = "character", > transactions = "matrix") > ) > > > Account <- function(id, t) { > new("Account", customer_id = id, transactions = t) > } > > > setGeneric ("CustomerID<-", function(obj, > id){standardGeneric("CustomerID<-")}) > setReplaceMethod("CustomerID", "Account", function(obj, id){ > obj@customer_id <- id > obj > }) > > ac <- Account("12345", matrix(c(1,2,3,4,5,6), ncol=2)) > ac > CustomerID <- "54321" > ac > > #Output >> ac > An object of class "Account" > Slot "customer_id": > [1] "12345" > > Slot "transactions": > [,1] [,2] > [1,] 1 4 > [2,] 2 5 > [3,] 3 6 > > # CustomerID is value has changed to 54321, but as you can see it does't >> CustomerID <- "54321" >> ac > An object of class "Account" > Slot "customer_id": > [1] "12345" > > Slot "transactions": > [,1] [,2] > [1,] 1 4 > [2,] 2 5 > [3,] 3 6 > > > Help! > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.