From frederik at ofb.net  Thu Dec  8 23:16:10 2016
From: frederik at ofb.net (frederik at ofb.net)
Date: Thu, 8 Dec 2016 14:16:10 -0800
Subject: [Rd] methods(`|`) lists all functions?
Message-ID: <20161208221610.GJ6368@ofb.net>

Dear R-Devel,

I was attempting an exercise in Hadley Wickam's book "Advanced R". The
exercise is to find the generic with the greatest number of methods.

I found that 'methods(`|`)' produces a list of length 2506, in R
3.3.1. Similar behavior is found in 3.4.0. It seems to include all
functions and methods. I imagine something is being passed to "grep"
without being escaped.

I hope I didn't miss something in the documentation, and that I'm good
to report this as a bug. I can send it to Bugzilla if that's better.

By the way, how do I produce such a list of functions (or variables)
in a "normal" way? I used 'ls("package:base")' for the exercise,
because I saw this call used somewhere as an example, but I couldn't
find that "package:" syntax documented under ls()... Also found this
confusing:

    > environmentName(globalenv())
    [1] "R_GlobalEnv"
    > ls("R_GlobalEnv")
    Error in as.environment(pos) :
      no item called "R_GlobalEnv" on the search list

So I'm not sure if "package:base" is naming an environment, or if
there are different ways to name environments and ls() is using one
form while environmentName is returning another ... It might be good
to add some clarifying examples under "?ls".

Thanks,

Frederick



[Rd] methods(`|`) lists all functions?
frederik at ofb.net