Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix three bugs in quick ref vignette #933

Merged
merged 4 commits into from Dec 26, 2018
Merged

Conversation

@dongzhuoer
Copy link
Contributor

@dongzhuoer dongzhuoer commented Dec 26, 2018

close #932

dongzhuoer added 4 commits Dec 22, 2018
> Rcpp::evalCpp('NumericVector::create(Named["foo"] = 1.0,_["bar"] = 2.0 )')
file419870ee27e6.cpp: In function ‘SEXPREC* get_value()’:
file419870ee27e6.cpp:6:65: error: invalid types ‘<unresolved overloaded function type>[const char [4]]’ for array subscript
 SEXP get_value(){ return wrap( NumericVector::create(Named["foo"] = 1.0,_["bar"] = 2.0 ) ) ; }
                                                                 ^
make: *** [file419870ee27e6.o] Error 1
g++  -I"/usr/share/R/include" -DNDEBUG   -I"/home/zhuoer/.local/lib/R/Rcpp/include" -I"/tmp/Rtmp7XEiDX/sourceCpp-x86_64-pc-linux-gnu-1.0.0"    -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-oUvOgu/r-base-3.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c file419870ee27e6.cpp -o file419870ee27e6.o
/usr/lib/R/etc/Makeconf:168: recipe for target 'file419870ee27e6.o' failed
Error in sourceCpp(code = code, env = env, rebuild = rebuild, cacheDir = cacheDir,  : 
  Error 1 occurred building shared library.
> Rcpp::evalCpp('NumericVector::create(Named("foo") = 1.0,_["bar"] = 2.0 )')
foo bar 
  1   2
I also adjust the relative position of " Special environments" and "Obtain an R environment", since `Environment::global_env()` is introduced in the former
```r
Rcpp::evalCpp('Environment::global_env().ls()')
```
```
file59666c8ac214.cpp: In function ‘SEXPREC* get_value()’:
file59666c8ac214.cpp:6:61: error: no matching function for call to ‘Rcpp::Environment_Impl<Rcpp::PreserveStorage>::ls()’
 SEXP get_value(){ return wrap( Environment::global_env().ls() ) ; }
                                                             ^
In file included from /home/zhuoer/.local/lib/R/Rcpp/include/Rcpp.h:38:0,
                 from file59666c8ac214.cpp:1:
/home/zhuoer/.local/lib/R/Rcpp/include/Rcpp/Environment.h:85:14: note: candidate: SEXPREC* Rcpp::Environment_Impl<StoragePolicy>::ls(bool) const [with StoragePolicy = Rcpp::PreserveStorage; SEXP = SEXPREC*]
         SEXP ls(bool all) const {
              ^~
/home/zhuoer/.local/lib/R/Rcpp/include/Rcpp/Environment.h:85:14: note:   candidate expects 1 argument, 0 provided
make: *** [file59666c8ac214.o] Error 1
g++  -I"/usr/share/R/include" -DNDEBUG   -I"/home/zhuoer/.local/lib/R/Rcpp/include" -I"/tmp/RtmpXtPnoL/sourceCpp-x86_64-pc-linux-gnu-1.0.0"    -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-oUvOgu/r-base-3.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c file59666c8ac214.cpp -o file59666c8ac214.o
/usr/lib/R/etc/Makeconf:168: recipe for target 'file59666c8ac214.o' failed
Error in sourceCpp(code = code, env = env, rebuild = rebuild, cacheDir = cacheDir,  :
  Error 1 occurred building shared library.
```

```r
Rcpp::evalCpp('Environment::global_env().ls(TRUE)')
```
```
[1] ".Random.seed"
```

eddelbuettel provides another example

```r
cppFunction("CharacterVector foo() { Environment glob=Environment::global_env(); return glob.ls(true); }" )
foo()
```
```
[1] ".Random.seed" "foo"
```
@eddelbuettel
Copy link
Member

@eddelbuettel eddelbuettel commented Dec 26, 2018

Looks good to me, apart from a small whitespace issue in the ChangeLog I will take care of once merged!

Thanks for putting this together.

@eddelbuettel eddelbuettel merged commit e44c6fa into RcppCore:master Dec 26, 2018
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
eddelbuettel added a commit that referenced this pull request Dec 27, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

2 participants
You can’t perform that action at this time.