The $ operator does partial matching by default so for example
> print(b$u)
[1] 1
The [[ operator does not
> print(b[["unit"]])
NULL
> print(b[["unit1"]])
[1] 1
See help("$") for more details and also the warnPartialMatch* arguments
in help("options").
Try
testfunction <- function(x) if (exists("unit", x) && x[["unit"]]==1)
cat("All is well\n")
Hope this helps
Allan
On 26/09/11 10:23, Vikram Bahure wrote:
Hi,
I am a new user to R.
I am having the following problem while using R:
The defined function is having following a$unit as input but if I define
a$unit1 then still I am getting the output which is not desired.
__________________________
*Function:*
testfunction<-function(a){
stopifnot(a$unit==1)
cat("All is well")
}
b<-list(unit1=1 )
testfunction(b)
---------------------------------------------
*Output:*
testfunction<-function(a){
stopifnot(a$unit==1)
cat("All is well")
}
b<-list(unit1=1 )
testfunction(b)
testfunction<-function(a){
+ stopifnot(a$unit==1)
+ cat("All is well")
+ }
b<-list(unit1=1 )
testfunction(b)
All is well>
__________________________
If it is a auto complete problem, it would be nice if you could let me know
how to disable it, else you could throw some light on the what the problem
is exactly.
Regards
Vikram
[[alternative HTML version deleted]]
______________________________________________
R-help@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.
______________________________________________
R-help@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.