Hello, Why doesn't the comma throw an error? plot(1:5,) # works, no complaints Shouldn't this be considered a bug? I would expect the parser to at least give a warning. sessionInfo() R version 4.2.1 (2022-06-23 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 22000) Matrix products: default locale: [1] LC_COLLATE=Portuguese_Portugal.utf8 LC_CTYPE=Portuguese_Portugal.utf8 [3] LC_MONETARY=Portuguese_Portugal.utf8 LC_NUMERIC=C [5] LC_TIME=Portuguese_Portugal.utf8 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] compiler_4.2.1 Rui Barradas
That may actually be the case for EVERY default plot, if I understand correctly. The default S# plot is defined as ## Default S3 method: plot(x, y = NULL, type = "p", xlim = NULL, ylim = NULL, log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL, ann = par("ann"), axes = TRUE, frame.plot = axes, panel.first = NULL, panel.last = NULL, asp = NA, xgap.axis = NA, ygap.axis = NA, ...) By putting in the comma, unless I am mistaken, you are effectively saying the second element is NULL, which is how it's naturally defined. Thanks, Avi On Fri, Sep 16, 2022 at 2:33 PM Rui Barradas <ruipbarradas at sapo.pt> wrote:> > Hello, > > Why doesn't the comma throw an error? > > > plot(1:5,) # works, no complaints > > > Shouldn't this be considered a bug? I would expect the parser to at > least give a warning. > > > sessionInfo() > R version 4.2.1 (2022-06-23 ucrt) > Platform: x86_64-w64-mingw32/x64 (64-bit) > Running under: Windows 10 x64 (build 22000) > > Matrix products: default > > locale: > [1] LC_COLLATE=Portuguese_Portugal.utf8 > LC_CTYPE=Portuguese_Portugal.utf8 > [3] LC_MONETARY=Portuguese_Portugal.utf8 LC_NUMERIC=C > > [5] LC_TIME=Portuguese_Portugal.utf8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > loaded via a namespace (and not attached): > [1] compiler_4.2.1 > > > Rui Barradas > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
On 16/09/2022 10:33 a.m., Rui Barradas wrote:> Hello, > > Why doesn't the comma throw an error? > > > plot(1:5,) # works, no complaintsThat says the second argument is missing. You need this to enter missing arguments with positional matching, e.g. f(a, , b) sets the second argument of f() to missing, but the third is set to b. Duncan Murdoch> > > Shouldn't this be considered a bug? I would expect the parser to at > least give a warning. > > > sessionInfo() > R version 4.2.1 (2022-06-23 ucrt) > Platform: x86_64-w64-mingw32/x64 (64-bit) > Running under: Windows 10 x64 (build 22000) > > Matrix products: default > > locale: > [1] LC_COLLATE=Portuguese_Portugal.utf8 > LC_CTYPE=Portuguese_Portugal.utf8 > [3] LC_MONETARY=Portuguese_Portugal.utf8 LC_NUMERIC=C > > [5] LC_TIME=Portuguese_Portugal.utf8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > loaded via a namespace (and not attached): > [1] compiler_4.2.1 > > > Rui Barradas > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
As a general matter, empty arguments are allowed and are used meaningfully in some contexts, notably A[i,], which is syntactic sugarcoating of "["(A,i,). I.e., these are different:> "["(Sigma,2,) # 2nd row[1] 0.077 0.168> "["(Sigma,2) # 2nd element[1] 0.077 It is somewhat rare to have an empty last argument, intermediate ones are more common:> seq(0,1,,5)[1] 0.00 0.25 0.50 0.75 1.00 -pd> On 16 Sep 2022, at 16:33 , Rui Barradas <ruipbarradas at sapo.pt> wrote: > > Hello, > > Why doesn't the comma throw an error? > > > plot(1:5,) # works, no complaints > > > Shouldn't this be considered a bug? I would expect the parser to at least give a warning. > > > sessionInfo() > R version 4.2.1 (2022-06-23 ucrt) > Platform: x86_64-w64-mingw32/x64 (64-bit) > Running under: Windows 10 x64 (build 22000) > > Matrix products: default > > locale: > [1] LC_COLLATE=Portuguese_Portugal.utf8 LC_CTYPE=Portuguese_Portugal.utf8 > [3] LC_MONETARY=Portuguese_Portugal.utf8 LC_NUMERIC=C > [5] LC_TIME=Portuguese_Portugal.utf8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > loaded via a namespace (and not attached): > [1] compiler_4.2.1 > > > Rui Barradas > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel-- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Office: A 4.23 Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com