An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110128/ca106933/attachment.pl>
ReferenceClasses examples {method}
5 messages · David Winsemius, Marc Carpentier
On Jan 28, 2011, at 11:05 AM, Marc Carpentier wrote:
Dear help, dear John Chambers,
I'm trying to learn OOP-possibilities in R and I was going through the
documentation 'ReferenceClasses {methods}'. (great work, by the
way...)
Reading associated Examples, something bothers me : it seems to me
that there
are errors in 'edit' and 'undo' methods. I think that :
- 'undo' should update 'edits' field with :
length(edits) <<- length(edits) - 1 #(and not - 2)
- and for coherence, 'edit' should store modifications in an
'append'-style :
edits <<- c(edits,list(backup)) #as opposed to c(list(backup),edits)
I hope I'm not wrong.
As a complementary question, suppose one kept
'c(edits,list(backup))', does
anyone know how todiscard first element(s) of a list? For a vector :
vedits<<-vedits[-1]
But lists can't be selected that way ( edits<<- edits [[-1]] #wrong )
You are confusing "[" and "[[" > ll <- list(a=1,b=2,cc=3) > ll[-1] $b [1] 2 $cc [1] 3
David Winsemius, MD West Hartford, CT
Right. Shame on me : Friday's tiredness ; I don't know why I stuck on that.
Please just consider the main topic of my message, regarding the example of
ReferenceClasses (supposing it's appropriate) and sorry for the subsequent
question...
----- Message d'origine ----
De : David Winsemius <dwinsemius at comcast.net>
? : Marc Carpentier <marc.carpentier at ymail.com>
Cc : r-help at r-project.org
Envoy? le : Ven 28 janvier 2011, 17h 39min 59s
Objet : Re: [R] ReferenceClasses examples {method}
On Jan 28, 2011, at 11:05 AM, Marc Carpentier wrote:
Dear help, dear John Chambers,
I'm trying to learn OOP-possibilities in R and I was going through the
documentation 'ReferenceClasses {methods}'. (great work, by the way...)
Reading associated Examples, something bothers me : it seems to me that there
are errors in 'edit' and 'undo' methods. I think that :
- 'undo' should update 'edits' field with :
length(edits) <<- length(edits) - 1 #(and not - 2)
- and for coherence, 'edit' should store modifications in an 'append'-style :
edits <<- c(edits,list(backup)) #as opposed to c(list(backup),edits)
I hope I'm not wrong.
As a complementary question, suppose one kept 'c(edits,list(backup))', does
anyone know how todiscard first element(s) of a list? For a vector :
vedits<<-vedits[-1]
But lists can't be selected that way ( edits<<- edits [[-1]] #wrong )
You are confusing "[" and "[["
ll <- list(a=1,b=2,cc=3) ll[-1]
$b [1] 2 $cc [1] 3
-- David Winsemius, MD West Hartford, CT
On Jan 28, 2011, at 12:35 PM, Marc Carpentier wrote:
Right. Shame on me : Friday's tiredness ; I don't know why I stuck on that. Please just consider the main topic of my message, regarding the example of ReferenceClasses (supposing it's appropriate) and sorry for the subsequent question...
I'm definitely the wrong one to tackle any S4 or ReferenceClasses questions. There have been some discussion on r-devel about how to pick up the ReferenceClasses methods but they flew right over my greying head. The latest incarnation of Baron's RSiteSearch allows searching the r-devel archives: http://search.r-project.org/cgi-bin/namazu.cgi?query=ReferenceClasses&max=100&result=normal&sort=score&idxname=functions&idxname=Rhelp10&idxname=R-devel And maybe other search strings could be even more productive, since I only tried one. I would have thought the ReferenceC;asses part of your question to be more appropriate for r-devel anyway.
David.
>
>
> ----- Message d'origine ----
>
> De : David Winsemius <dwinsemius at comcast.net>
> ? : Marc Carpentier <marc.carpentier at ymail.com>
> Cc : r-help at r-project.org
> Envoy? le : Ven 28 janvier 2011, 17h 39min 59s
> Objet : Re: [R] ReferenceClasses examples {method}
>
>
> On Jan 28, 2011, at 11:05 AM, Marc Carpentier wrote:
>
>> Dear help, dear John Chambers,
>> I'm trying to learn OOP-possibilities in R and I was going through
>> the
>> documentation 'ReferenceClasses {methods}'. (great work, by the
>> way...)
>> Reading associated Examples, something bothers me : it seems to me
>> that there
>> are errors in 'edit' and 'undo' methods. I think that :
>> - 'undo' should update 'edits' field with :
>> length(edits) <<- length(edits) - 1 #(and not - 2)
>> - and for coherence, 'edit' should store modifications in an
>> 'append'-style :
>> edits <<- c(edits,list(backup)) #as opposed to c(list(backup),edits)
>>
>> I hope I'm not wrong.
>>
>> As a complementary question, suppose one kept
>> 'c(edits,list(backup))', does
>> anyone know how todiscard first element(s) of a list? For a vector :
>> vedits<<-vedits[-1]
>> But lists can't be selected that way ( edits<<- edits [[-1]] #wrong )
>
> You are confusing "[" and "[["
>
>> ll <- list(a=1,b=2,cc=3)
>> ll[-1]
> $b
> [1] 2
>
> $cc
> [1] 3
>>
> --
> David Winsemius, MD
> West Hartford, CT
>
>
>
David Winsemius, MD
West Hartford, CT
I hadn't found any message on this subject.
Nevertheless you're right again : I've posted this report on r-devel-list where
it obviously belongs...
Marc
----- Message d'origine ----
De : David Winsemius <dwinsemius at comcast.net>
? : Marc Carpentier <marc.carpentier at ymail.com>
Cc : r-help at r-project.org
Envoy? le : Ven 28 janvier 2011, 18h 59min 16s
Objet : Re: Re : [R] ReferenceClasses examples {method}
On Jan 28, 2011, at 12:35 PM, Marc Carpentier wrote:
Right. Shame on me : Friday's tiredness ; I don't know why I stuck on that. Please just consider the main topic of my message, regarding the example of ReferenceClasses (supposing it's appropriate) and sorry for the subsequent question...
I'm definitely the wrong one to tackle any S4 or ReferenceClasses questions. There have been some discussion on r-devel about how to pick up the ReferenceClasses methods but they flew right over my greying head. The latest incarnation of Baron's RSiteSearch allows searching the r-devel archives: http://search.r-project.org/cgi-bin/namazu.cgi?query=ReferenceClasses&max=100&result=normal&sort=score&idxname=functions&idxname=Rhelp10&idxname=R-devel And maybe other search strings could be even more productive, since I only tried one. I would have thought the ReferenceC;asses part of your question to be more appropriate for r-devel anyway. --David.
----- Message d'origine ----
De : David Winsemius <dwinsemius at comcast.net>
? : Marc Carpentier <marc.carpentier at ymail.com>
Cc : r-help at r-project.org
Envoy? le : Ven 28 janvier 2011, 17h 39min 59s
Objet : Re: [R] ReferenceClasses examples {method}
On Jan 28, 2011, at 11:05 AM, Marc Carpentier wrote:
Dear help, dear John Chambers,
I'm trying to learn OOP-possibilities in R and I was going through the
documentation 'ReferenceClasses {methods}'. (great work, by the way...)
Reading associated Examples, something bothers me : it seems to me that there
are errors in 'edit' and 'undo' methods. I think that :
- 'undo' should update 'edits' field with :
length(edits) <<- length(edits) - 1 #(and not - 2)
- and for coherence, 'edit' should store modifications in an 'append'-style :
edits <<- c(edits,list(backup)) #as opposed to c(list(backup),edits)
I hope I'm not wrong.
As a complementary question, suppose one kept 'c(edits,list(backup))', does
anyone know how todiscard first element(s) of a list? For a vector :
vedits<<-vedits[-1]
But lists can't be selected that way ( edits<<- edits [[-1]] #wrong )
You are confusing "[" and "[["
ll <- list(a=1,b=2,cc=3) ll[-1]
$b [1] 2 $cc [1] 3
-- David Winsemius, MD West Hartford, CT
David Winsemius, MD West Hartford, CT