>>>>> "FA" == Felix Andrews <[EMAIL PROTECTED]> >>>>> on Thu, 30 Oct 2008 17:40:17 +1100 writes:
FA> Dear R-devel, FA> I have a problem defining the dependencies for a package. FA> My package (latticist, not yet released) "Suggests" RGtk2, but FA> specifically does not require it. If RGtk2 is available, the user can FA> call a function that builds a GUI with RGtk2. However, I do not want FA> to attach the RGtk2 namespace, because it is irrelevant to the user FA> and exports about 7500 symbols. FA> Last time I asked a similar question to this, Professor Ripley noted FA> that the usual method to get around this situation is the use an FA> explicit package prefix to function calls (the `::` operator). But FA> this is not so easy with non-standard functions. Take this chunk of FA> code: FA> widg <- gtkComboBoxEntryNewText() FA> widg$show() FA> widg["width-request"] <- 100 FA> The first call is easy to prefix, as RGtk2::gtkComboBoxEntryNewText() FA> but the others, `$.RGtkObject` and `[<-.RGtkObject` are not. indeed. FA> While I *could* rewrite all the code to use explicit functions, I FA> think, the resulting code would be much less clear. FA> Essentially what I want to do is conditionally import the RGtk2 namespace. FA> Any suggestions? Maybe something along the line of if(is.function(try(RGtk2::gtkComboBoxEntryNewText))) { library(RGtk2) .... .... } ?? Regards, Martin ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel