From sfalcon at fhcrc.org  Fri Mar 23 02:54:04 2007
From: sfalcon at fhcrc.org (Seth Falcon)
Date: Thu, 22 Mar 2007 18:54:04 -0700
Subject: [Rd] how to use debug.mypkg
In-Reply-To: <B0F5F7FF-89D9-46EF-B7D4-EA3D363D9A68@jhsph.edu> (Benilton
	Carvalho's message of "Thu, 22 Mar 2007 21:37:14 -0400")
References: <46030191.30006@aon.at>
	<5BDFDBB7-9AE2-4410-916A-3A17FA4DD3E9@jhsph.edu>
	<46030891.3030207@aon.at>
	<B0F5F7FF-89D9-46EF-B7D4-EA3D363D9A68@jhsph.edu>
Message-ID: <m2hcsc67yb.fsf@ziti.fhcrc.org>

Benilton Carvalho <bcarvalh at jhsph.edu> writes:

> it doesn't matter where..
>
> just pick one of your files and set it...
>
> of course, your file should be listed in the Collate field (in case  
> you changed your mind and are now using it).

One useful trick is to create an environment object in your package's
namespace.  It is probably best to put this early in the Collate order
so all your code can assume it is there:

   OPTIONS <- new.env(hash=TRUE, parent=emptyenv())

Then you could have, for example, a debug flag that gets a default
value of FALSE, but can be interactively toggled.  In your package
code you would have:

   OPTIONS$debug <- FALSE

Then you could either export this object from your namespace or, more
conservatively, export a function to toggle.  Then an end user (or
developer) can do:

  R> toggleDebug()

Obviously, for this to be useful, you need to have package code that
checks if(OPTIONS$debug) and does something different.

+ seth

-- 
Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center
http://bioconductor.org



[Rd] how to use debug.mypkg
Seth Falcon