Does nargin and nargout work with R functions?
This works great.
Thanks for your help.
----- Original Message ----
From: baptiste auguie <baptiste.auguie at googlemail.com>
To: Jason Rupert <jasonkrupert at yahoo.com>
Cc: R-help <R-help at r-project.org>
Sent: Thu, November 26, 2009 11:08:57 AM
Subject: Re: [R] Does nargin and nargout work with R functions?
Hi,
I think you can use match.call() to retrieve the number of arguments
passed to a function (see below), but I don't think nargout makes
sense in R like it does in Matlab.
foo <- function(...){
print(match.call())
nargin <- length(as.list(match.call())) -1
print(nargin)
}
foo(a=1, b=2)
foo()
foo(1:3, a=2, c=3)
HTH,
baptiste
2009/11/26 Jason Rupert <jasonkrupert at yahoo.com>:
I am porting some MATLAB functions over to R and hopefully into a package, so I am curious if nargin and nargout work with R functions.
Here is kind of an example of where I need to head in order to port "control-1.0.11" from Octave over to R. The Octave "control-1.0.11" package has the capability to produce bode plots of transfer functions. I hope to post this package once the port over to R is complete.
Thanks again for all the feedback and insights.
bode<-function(sys, w, outputs, inputs, plot_style)
{
# ...
if (nargin < 1 || nargin > 5)
{
print("This works")
}
if (nargout < 1)
{
print("This also works")
}
return(list(mag_r, phase_r, w_r))
}
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.