Displaying 8 results from an estimated 8 matches for "s4_extends".
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
2016 Apr 19
4
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
...an S4 object around, the
methods package should be available to deal with it.
~G
On Tue, Apr 19, 2016 at 7:34 AM, Michael Lawrence <lawrence.michael at gene.com
> wrote:
> Right, R_has_methods_attached() uses that. Probably not the right
> check, since it refers to S4 dispatch, while S4_extends() is used by
> S3 dispatch.
>
> Perhaps S4_extends() should force load the methods package? The above
> example works after fixing the check to ensure that R_MethodsNamespace
> is not R_GlobalEnv, but one could load a serialized S4 object and
> expect S3 dispatch to work with Rscr...
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
2016 Apr 19
2
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
...t; >>
> >> Right, the methods package is not attached by default when running R
> >> with Rscript. We should probably remove that special case, as it
> >> mostly just leads to confusion, but that won't happen immediately.
> >>
> >> For now, the S4_extends() should probably throw an error when the
> >> methods namespace is not loaded. And the check should be changed to
> >> directly check whether R_MethodsNamespace has been set to something
> >> other than the default (R_GlobalEnv). Agreed?
> >>
> >> On Mo...
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
2016 Apr 19
0
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
Right, R_has_methods_attached() uses that. Probably not the right
check, since it refers to S4 dispatch, while S4_extends() is used by
S3 dispatch.
Perhaps S4_extends() should force load the methods package? The above
example works after fixing the check to ensure that R_MethodsNamespace
is not R_GlobalEnv, but one could load a serialized S4 object and
expect S3 dispatch to work with Rscript.
On Tue, Apr 19, 2016 at...
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
2016 Apr 19
0
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
...ackage should be available to deal with it.
>
> ~G
>
> On Tue, Apr 19, 2016 at 7:34 AM, Michael Lawrence <lawrence.michael at gene.com
>> wrote:
>
>> Right, R_has_methods_attached() uses that. Probably not the right
>> check, since it refers to S4 dispatch, while S4_extends() is used by
>> S3 dispatch.
>>
>> Perhaps S4_extends() should force load the methods package? The above
>> example works after fixing the check to ensure that R_MethodsNamespace
>> is not R_GlobalEnv, but one could load a serialized S4 object and
>> expect S3 di...
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
2016 Apr 19
3
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
...-Kirill
On 19.04.2016 04:10, Michael Lawrence wrote:
> Right, the methods package is not attached by default when running R
> with Rscript. We should probably remove that special case, as it
> mostly just leads to confusion, but that won't happen immediately.
>
> For now, the S4_extends() should probably throw an error when the
> methods namespace is not loaded. And the check should be changed to
> directly check whether R_MethodsNamespace has been set to something
> other than the default (R_GlobalEnv). Agreed?
>
> On Mon, Apr 18, 2016 at 4:35 PM, Kirill M?ller
>...
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
2016 Apr 18
3
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
Scenario: An S3 method is declared for an S4 base class but called for
an instance of a derived class.
Steps to reproduce:
> Rscript -e "test <- function(x) UseMethod('test', x); test.Matrix <-
function(x) 'Hi'; MatrixDispatchTest::test(Matrix::Matrix())"
Error in UseMethod("test", x) :
no applicable method for 'test' applied to an
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
2016 Apr 19
0
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
Right, the methods package is not attached by default when running R
with Rscript. We should probably remove that special case, as it
mostly just leads to confusion, but that won't happen immediately.
For now, the S4_extends() should probably throw an error when the
methods namespace is not loaded. And the check should be changed to
directly check whether R_MethodsNamespace has been set to something
other than the default (R_GlobalEnv). Agreed?
On Mon, Apr 18, 2016 at 4:35 PM, Kirill M?ller
<kirill.mueller at ivt.b...
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
2016 Apr 19
0
S3 dispatch for S4 subclasses only works if variable "extends" is accessible from global environment
...10, Michael Lawrence wrote:
>>
>> Right, the methods package is not attached by default when running R
>> with Rscript. We should probably remove that special case, as it
>> mostly just leads to confusion, but that won't happen immediately.
>>
>> For now, the S4_extends() should probably throw an error when the
>> methods namespace is not loaded. And the check should be changed to
>> directly check whether R_MethodsNamespace has been set to something
>> other than the default (R_GlobalEnv). Agreed?
>>
>> On Mon, Apr 18, 2016 at 4:35 P...