[R/ABC_SMC.R:2:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L2) *style:* **Variable and function names should be all lowercase.**
```r
getRandomVals <- function(max_val)  {
^~~~~~~~~~~~~
```
[R/ABC_SMC.R:15:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L15) *style:* **Variable and function names should be all lowercase.**
```r
getFromPrevious <- function(inds, ws, disps, filts, comps)  {
^~~~~~~~~~~~~~~
```
[R/ABC_SMC.R:22:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L22) *style:* **Variable and function names should be all lowercase.**
```r
calculateWeight <- function(params, target, sigma,
^~~~~~~~~~~~~~~
```
[R/ABC_SMC.R:25:68:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L25) *style:* **Commas should always have a space after.**
```r
  diff <- params[target] - cbind(disp_vals, filt_vals, comp_vals)[,target]
                                                                   ^
```
[R/ABC_SMC.R:26:54:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L26) *style:* **Trailing whitespace is superfluous.**
```r
  vals <- weights * dnorm(diff, mean = 0, sd = sigma)
                                                     ^~
```
[R/ABC_SMC.R:27:12:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L27) *style:* **Put spaces around all infix operators.**
```r
  return( 1/sum(vals) )
          ~^~
```
[R/ABC_SMC.R:31:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L31) *style:* **Variable and function names should be all lowercase.**
```r
normalizeWeights <- function(x) {
^~~~~~~~~~~~~~~~
```
[R/ABC_SMC.R:65:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L65) *style:* **Variable and function names should be all lowercase.**
```r
calculateDistance <- function(rich, even, div, opt_diff, obs, sd_vals)  {
^~~~~~~~~~~~~~~~~
```
[R/ABC_SMC.R:69:40:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L69) *style:* **Put spaces around all infix operators.**
```r
  fit_optima <- (opt_diff / sd_vals[4])^2
                                      ~^~
```
[R/ABC_SMC.R:77:21:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L77) *style:* **Variable and function names should be all lowercase.**
```r
ABC_SMC <- function(numParticles, species_fallout, taxa, esppres, n_traits,
                    ^~~~~~~~~~~~
```
[R/ABC_SMC.R:79:46:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L79) *style:* **Variable and function names should be all lowercase.**
```r
                    abundances, frequencies, stopRate, Ord,
                                             ^~~~~~~~
```
[R/ABC_SMC.R:79:60:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L79) *style:* **Trailing whitespace is superfluous.**
```r
                    abundances, frequencies, stopRate, Ord,
                                                           ^
```
[R/ABC_SMC.R:85:52:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L85) *style:* **Trailing whitespace is superfluous.**
```r
           "one of the community summary statistics
                                                   ^
```
[R/ABC_SMC.R:89:10:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L89) *style:* **Variable and function names should be all lowercase.**
```r
  res <- detMnbsp(Ord, abundances)
         ^~~~~~~~
```
[R/ABC_SMC.R:89:10:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L89) *warning:* **no visible global function definition for ‘detMnbsp’**
```r
  res <- detMnbsp(Ord, abundances)
         ^~~~~~~~
```
[R/ABC_SMC.R:92:18:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L92) *style:* **Variable and function names should be all lowercase.**
```r
  disp_vals <- 1:numParticles
                 ^~~~~~~~~~~~
```
[R/ABC_SMC.R:93:18:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L93) *style:* **Variable and function names should be all lowercase.**
```r
  filt_vals <- 1:numParticles
                 ^~~~~~~~~~~~
```
[R/ABC_SMC.R:94:18:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L94) *style:* **Variable and function names should be all lowercase.**
```r
  comp_vals <- 1:numParticles
                 ^~~~~~~~~~~~
```
[R/ABC_SMC.R:96:13:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L96) *style:* **Variable and function names should be all lowercase.**
```r
  fits <- 1:numParticles
            ^~~~~~~~~~~~
```
[R/ABC_SMC.R:97:17:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L97) *style:* **Variable and function names should be all lowercase.**
```r
  rich_vec <- 1:numParticles
                ^~~~~~~~~~~~
```
[R/ABC_SMC.R:98:16:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L98) *style:* **Variable and function names should be all lowercase.**
```r
  eve_vec <- 1:numParticles
               ^~~~~~~~~~~~
```
[R/ABC_SMC.R:99:16:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L99) *style:* **Variable and function names should be all lowercase.**
```r
  div_vec <- 1:numParticles
               ^~~~~~~~~~~~
```
[R/ABC_SMC.R:100:16:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L100) *style:* **Variable and function names should be all lowercase.**
```r
  opt_vec <- 1:numParticles
               ^~~~~~~~~~~~
```
[R/ABC_SMC.R:106:21:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L106) *style:* **Variable and function names should be all lowercase.**
```r
  weights <- rep(1, numParticles)
                    ^~~~~~~~~~~~
```
[R/ABC_SMC.R:107:26:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L107) *style:* **Variable and function names should be all lowercase.**
```r
  next_weights <- rep(1, numParticles)
                         ^~~~~~~~~~~~
```
[R/ABC_SMC.R:108:16:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L108) *style:* **Variable and function names should be all lowercase.**
```r
  indices <- 1:numParticles
               ^~~~~~~~~~~~
```
[R/ABC_SMC.R:120:7:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L120) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(d[numParticles,1] == numParticles) {
      ^
```
[R/ABC_SMC.R:120:10:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L120) *style:* **Variable and function names should be all lowercase.**
```r
    if(d[numParticles,1] == numParticles) {
         ^~~~~~~~~~~~
```
[R/ABC_SMC.R:120:23:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L120) *style:* **Commas should always have a space after.**
```r
    if(d[numParticles,1] == numParticles) {
                      ^
```
[R/ABC_SMC.R:120:29:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L120) *style:* **Variable and function names should be all lowercase.**
```r
    if(d[numParticles,1] == numParticles) {
                            ^~~~~~~~~~~~
```
[R/ABC_SMC.R:142:5:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L142) *style:* **Variable and function names should be all lowercase.**
```r
    numberAccepted <- 0
    ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:143:28:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L143) *style:* **Variable and function names should be all lowercase.**
```r
    if (t != 1) weights <- normalizeWeights(weights)
                           ^~~~~~~~~~~~~~~~
```
[R/ABC_SMC.R:143:28:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L143) *warning:* **no visible global function definition for ‘normalizeWeights’**
```r
    if (t != 1) weights <- normalizeWeights(weights)
                           ^~~~~~~~~~~~~~~~
```
[R/ABC_SMC.R:151:12:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L151) *style:* **Variable and function names should be all lowercase.**
```r
    while (numberAccepted <= numParticles) {
           ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:151:30:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L151) *style:* **Variable and function names should be all lowercase.**
```r
    while (numberAccepted <= numParticles) {
                             ^~~~~~~~~~~~
```
[R/ABC_SMC.R:155:19:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L155) *style:* **Variable and function names should be all lowercase.**
```r
        params <- getRandomVals(species_fallout)
                  ^~~~~~~~~~~~~
```
[R/ABC_SMC.R:155:19:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L155) *warning:* **no visible global function definition for ‘getRandomVals’**
```r
        params <- getRandomVals(species_fallout)
                  ^~~~~~~~~~~~~
```
[R/ABC_SMC.R:157:19:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L157) *style:* **Variable and function names should be all lowercase.**
```r
        params <- getFromPrevious(indices, weights,
                  ^~~~~~~~~~~~~~~
```
[R/ABC_SMC.R:159:19:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L159) *warning:* **no visible global function definition for ‘perturb’**
```r
        params <- perturb(params, sigma)
                  ^~~~~~~
```
[R/ABC_SMC.R:169:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L169) *style:* **Trailing whitespace is superfluous.**
```r

^~~~~
```
[R/ABC_SMC.R:173:40:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L173) *style:* **Commas should always have a space after.**
```r
      traits <- as.data.frame(species[,c(2:(n_traits+1))],
                                       ^
```
[R/ABC_SMC.R:173:53:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L173) *style:* **Put spaces around all infix operators.**
```r
      traits <- as.data.frame(species[,c(2:(n_traits+1))],
                                                   ~^~
```
[R/ABC_SMC.R:174:40:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L174) *style:* **Put spaces around all infix operators.**
```r
                              row.names=c(1:taxa))
                                      ~^~
```
[R/ABC_SMC.R:178:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L178) *style:* **Trailing whitespace is superfluous.**
```r

^~~~~~
```
[R/ABC_SMC.R:179:20:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L179) *style:* **Variable and function names should be all lowercase.**
```r
      FD_output <- strippedDbFd(Ord, communities,
                   ^~~~~~~~~~~~
```
[R/ABC_SMC.R:179:50:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L179) *style:* **Trailing whitespace is superfluous.**
```r
      FD_output <- strippedDbFd(Ord, communities,
                                                 ^
```
[R/ABC_SMC.R:180:64:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L180) *style:* **Trailing whitespace is superfluous.**
```r
                                m = res[[1]], nb.sp = res[[2]])
                                                               ^
```
[R/ABC_SMC.R:181:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L181) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/ABC_SMC.R:183:29:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L183) *style:* **Trailing whitespace is superfluous.**
```r
      FRic <- FD_output$FRic
                            ^
```
[R/ABC_SMC.R:185:29:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L185) *style:* **Trailing whitespace is superfluous.**
```r
      FEve <- FD_output$FEve
                            ^
```
[R/ABC_SMC.R:187:29:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L187) *style:* **Trailing whitespace is superfluous.**
```r
      FDiv <- FD_output$FDiv
                            ^
```
[R/ABC_SMC.R:196:69:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L196) *style:* **Trailing whitespace is superfluous.**
```r
      # calculate distance of trait mean between simulated community
                                                                    ^
```
[R/ABC_SMC.R:200:72:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L200) *style:* **Trailing whitespace is superfluous.**
```r
      # (inverse) fit of model: euclidian distance of FD and trait mean
                                                                       ^
```
[R/ABC_SMC.R:202:14:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L202) *style:* **Variable and function names should be all lowercase.**
```r
      fit <- calculateDistance(FRic[[1]], FEve[[1]], FDiv[[1]],
             ^~~~~~~~~~~~~~~~~
```
[R/ABC_SMC.R:204:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L204) *style:* **Trailing whitespace is superfluous.**
```r

^~~~~~
```
[R/ABC_SMC.R:207:19:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L207) *style:* **Variable and function names should be all lowercase.**
```r
        next_disp[numberAccepted] <- params[1]
                  ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:208:19:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L208) *style:* **Variable and function names should be all lowercase.**
```r
        next_filt[numberAccepted] <- params[2]
                  ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:209:19:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L209) *style:* **Variable and function names should be all lowercase.**
```r
        next_comp[numberAccepted] <- params[3]
                  ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:211:14:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L211) *style:* **Variable and function names should be all lowercase.**
```r
        fits[numberAccepted] <- fit
             ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:212:18:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L212) *style:* **Variable and function names should be all lowercase.**
```r
        rich_vec[numberAccepted] <- FRic[[1]]
                 ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:213:17:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L213) *style:* **Variable and function names should be all lowercase.**
```r
        eve_vec[numberAccepted] <- FEve[[1]]
                ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:214:17:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L214) *style:* **Variable and function names should be all lowercase.**
```r
        div_vec[numberAccepted] <- FDiv[[1]]
                ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:215:17:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L215) *style:* **Variable and function names should be all lowercase.**
```r
        opt_vec[numberAccepted] <- mean_optimum
                ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:218:24:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L218) *style:* **Variable and function names should be all lowercase.**
```r
          next_weights[numberAccepted] <- 1
                       ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:220:24:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L220) *style:* **Variable and function names should be all lowercase.**
```r
          next_weights[numberAccepted] <-
                       ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:221:13:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L221) *style:* **Variable and function names should be all lowercase.**
```r
            calculateWeight(params, changed, sigma, disp_vals, filt_vals,
            ^~~~~~~~~~~~~~~
```
[R/ABC_SMC.R:224:9:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L224) *style:* **Variable and function names should be all lowercase.**
```r
        numberAccepted <- numberAccepted + 1
        ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:224:27:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L224) *style:* **Variable and function names should be all lowercase.**
```r
        numberAccepted <- numberAccepted + 1
                          ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:225:13:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L225) *style:* **Place a space before left parenthesis, except in a function call.**
```r
        if ((numberAccepted) %% (numParticles / PRINT_FREQ) == 0) {
            ^
```
[R/ABC_SMC.R:225:14:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L225) *style:* **Variable and function names should be all lowercase.**
```r
        if ((numberAccepted) %% (numParticles / PRINT_FREQ) == 0) {
             ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:225:34:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L225) *style:* **Variable and function names should be all lowercase.**
```r
        if ((numberAccepted) %% (numParticles / PRINT_FREQ) == 0) {
                                 ^~~~~~~~~~~~
```
[R/ABC_SMC.R:232:21:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L232) *style:* **Put spaces around all infix operators.**
```r
      if (tried > (1/stopRate) && tried > 50)  {
                   ~^~
```
[R/ABC_SMC.R:232:22:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L232) *style:* **Variable and function names should be all lowercase.**
```r
      if (tried > (1/stopRate) && tried > 50)  {
                     ^~~~~~~~
```
[R/ABC_SMC.R:234:13:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L234) *style:* **Variable and function names should be all lowercase.**
```r
        if (numberAccepted / tried < stopRate) {
            ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:234:38:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L234) *style:* **Variable and function names should be all lowercase.**
```r
        if (numberAccepted / tried < stopRate) {
                                     ^~~~~~~~
```
[R/ABC_SMC.R:254:54:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L254) *style:* **Put spaces around all infix operators.**
```r
    file_name <- paste("particles_t=", t, ".txt", sep="", collapse = NULL)
                                                    ~^~
```
[R/ABC_SMC.R:257:64:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L257) *style:* **Trailing whitespace is superfluous.**
```r
    cat(" ", mean(disp_vals), mean(filt_vals), mean(comp_vals),
                                                               ^
```
[R/ABC_SMC.R:258:33:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L258) *style:* **Variable and function names should be all lowercase.**
```r
        "\t", "accept rate = ", numberAccepted / (tried-1), "\n")
                                ^~~~~~~~~~~~~~
```
[R/ABC_SMC.R:258:56:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L258) *style:* **Put spaces around all infix operators.**
```r
        "\t", "accept rate = ", numberAccepted / (tried-1), "\n")
                                                      ~^~
```
[R/ABC_SMC.R:261:27:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L261) *style:* **Commas should always have a space after.**
```r
    next_weights <- rep(1,numParticles)
                          ^
```
[R/ABC_SMC.R:261:27:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L261) *style:* **Variable and function names should be all lowercase.**
```r
    next_weights <- rep(1,numParticles)
                          ^~~~~~~~~~~~
```
[R/ABC_SMC.R:262:20:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L262) *style:* **Variable and function names should be all lowercase.**
```r
    next_disp <- 1:numParticles
                   ^~~~~~~~~~~~
```
[R/ABC_SMC.R:263:20:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L263) *style:* **Variable and function names should be all lowercase.**
```r
    next_filt <- 1:numParticles
                   ^~~~~~~~~~~~
```
[R/ABC_SMC.R:264:20:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L264) *style:* **Variable and function names should be all lowercase.**
```r
    next_comp <- 1:numParticles
                   ^~~~~~~~~~~~
```
[R/ABC_SMC.R:274:61:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L274) *style:* **Put spaces around all infix operators.**
```r
    d <- read.table(paste("particles_t=", t - 1, ".txt", sep="",
                                                           ~^~
```
[R/ABC_SMC.R:278:40:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L278) *style:* **Trailing whitespace is superfluous.**
```r
           "Can't stop at iteration 1 -
                                       ^
```
[R/ABC_SMC.R:279:57:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/ABC_SMC.R#L279) *style:* **Trailing whitespace is superfluous.**
```r
           please set stop_at_iteration to 2 if you only
                                                        ^
```
[R/generateArtificialData.R:4:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L4) *style:* **Words within variable and function names should be separated by '_' rather than '.'.**
```r
generate.Artificial.Data <- function(n_species, n_traits, n_communities,
^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/generateArtificialData.R:6:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L6) *style:* **Use two spaces to indent, never tabs.**
```r
	pool_richness <- n_species
^
```
[R/generateArtificialData.R:8:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L8) *style:* **Use two spaces to indent, never tabs.**
```r
	traits_pool <- matrix( round( rnorm(n = (pool_richness * n_traits),
^
```
[R/generateArtificialData.R:9:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L9) *style:* **Use two spaces to indent, never tabs.**
```r
	                                    mean = 0, sd = 1), 3),
^
```
[R/generateArtificialData.R:9:23:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L9) *style:* **Put spaces around all infix operators.**
```r
	pool_richness <- n_species
                     ~^~~
```
[R/generateArtificialData.R:10:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L10) *style:* **Use two spaces to indent, never tabs.**
```r
	                       ncol = n_traits, nrow = pool_richness)
^
```
[R/generateArtificialData.R:11:21:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L11) *style:* **Put spaces around all infix operators.**
```r
	traits_pool <- matrix( round( rnorm(n = (pool_richness * n_traits),
                   ~^~~
```
[R/generateArtificialData.R:11:47:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L11) *style:* **Put spaces around all infix operators.**
```r
	traits_pool <- matrix( round( rnorm(n = (pool_richness * n_traits),
                                             ~^~
```
[R/generateArtificialData.R:11:49:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L11) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	traits_pool <- matrix( round( rnorm(n = (pool_richness * n_traits),
                                                ^
```
[R/generateArtificialData.R:11:64:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L11) *style:* **Put spaces around all infix operators.**
```r
	traits_pool <- matrix( round( rnorm(n = (pool_richness * n_traits),
                                                              ~^~
```
[R/generateArtificialData.R:12:50:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L12) *style:* **Put spaces around all infix operators.**
```r
	                                    mean = 0, sd = 1), 3),
                                                ~^~
```
[R/generateArtificialData.R:12:58:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L12) *style:* **Put spaces around all infix operators.**
```r
	                                    mean = 0, sd = 1), 3),
                                                        ~^~
```
[R/generateArtificialData.R:13:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L13) *style:* **Use two spaces to indent, never tabs.**
```r
	for(i in 1:pool_richness) {
^
```
[R/generateArtificialData.R:13:37:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L13) *style:* **Put spaces around all infix operators.**
```r
	                       ncol = n_traits, nrow = pool_richness)
                                   ~^~
```
[R/generateArtificialData.R:13:54:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L13) *style:* **Put spaces around all infix operators.**
```r
	                       ncol = n_traits, nrow = pool_richness)
                                                    ~^~
```
[R/generateArtificialData.R:14:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L14) *style:* **Use two spaces to indent, never tabs.**
```r
	  column1[i] <- paste("species", i, sep = "")
^
```
[R/generateArtificialData.R:15:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L15) *style:* **Use two spaces to indent, never tabs.**
```r
	}
^
```
[R/generateArtificialData.R:16:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L16) *style:* **Use two spaces to indent, never tabs.**
```r
	row1 <- rep(NA, (n_traits + 1))
^
```
[R/generateArtificialData.R:16:12:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L16) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	for(i in 1:pool_richness) {
           ^
```
[R/generateArtificialData.R:17:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L17) *style:* **Use two spaces to indent, never tabs.**
```r
	for(i in 1:n_traits + 1) {
^
```
[R/generateArtificialData.R:17:22:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L17) *style:* **Put spaces around all infix operators.**
```r
	  column1[i] <- paste("species", i, sep = "")
                    ~^~~
```
[R/generateArtificialData.R:18:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L18) *style:* **Use two spaces to indent, never tabs.**
```r
	  row1[i] <- paste("trait", (i - 1), sep="")
^
```
[R/generateArtificialData.R:19:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L19) *style:* **Use two spaces to indent, never tabs.**
```r
	}
^
```
[R/generateArtificialData.R:19:14:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L19) *style:* **Put spaces around all infix operators.**
```r
	row1 <- rep(NA, (n_traits + 1))
            ~^~~
```
[R/generateArtificialData.R:19:25:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L19) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	row1 <- rep(NA, (n_traits + 1))
                        ^
```
[R/generateArtificialData.R:20:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L20) *style:* **Use two spaces to indent, never tabs.**
```r
	row1[1] <- "species"
^
```
[R/generateArtificialData.R:20:12:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L20) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	for(i in 1:n_traits + 1) {
           ^
```
[R/generateArtificialData.R:21:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L21) *style:* **Use two spaces to indent, never tabs.**
```r
	columns <- matrix(cbind(column1, traits_pool), ncol = (n_traits + 1))
^
```
[R/generateArtificialData.R:21:19:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L21) *style:* **Put spaces around all infix operators.**
```r
	  row1[i] <- paste("trait", (i - 1), sep="")
                 ~^~~
```
[R/generateArtificialData.R:21:37:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L21) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	  row1[i] <- paste("trait", (i - 1), sep="")
                                    ^
```
[R/generateArtificialData.R:21:40:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L21) *style:* **Put spaces around all infix operators.**
```r
	  row1[i] <- paste("trait", (i - 1), sep="")
                                      ~^~
```
[R/generateArtificialData.R:22:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L22) *style:* **Use two spaces to indent, never tabs.**
```r
	traits_pool_df <- as.data.frame(columns)
^
```
[R/generateArtificialData.R:23:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L23) *style:* **Use two spaces to indent, never tabs.**
```r
	names(traits_pool_df) <- row1
^
```
[R/generateArtificialData.R:23:17:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L23) *style:* **Put spaces around all infix operators.**
```r
	row1[1] <- "species"
               ~^~~
```
[R/generateArtificialData.R:24:17:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L24) *style:* **Put spaces around all infix operators.**
```r
	columns <- matrix(cbind(column1, traits_pool), ncol = (n_traits + 1))
               ~^~~
```
[R/generateArtificialData.R:24:61:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L24) *style:* **Put spaces around all infix operators.**
```r
	columns <- matrix(cbind(column1, traits_pool), ncol = (n_traits + 1))
                                                           ~^~
```
[R/generateArtificialData.R:24:63:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L24) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	columns <- matrix(cbind(column1, traits_pool), ncol = (n_traits + 1))
                                                              ^
```
[R/generateArtificialData.R:25:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L25) *style:* **Use two spaces to indent, never tabs.**
```r
	comm_spec_matrix <- matrix(rep(0, (n_communities * pool_richness)),
^
```
[R/generateArtificialData.R:25:24:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L25) *style:* **Put spaces around all infix operators.**
```r
	traits_pool_df <- as.data.frame(columns)
                      ~^~~
```
[R/generateArtificialData.R:26:31:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L26) *style:* **Put spaces around all infix operators.**
```r
	names(traits_pool_df) <- row1
                             ~^~~
```
[R/generateArtificialData.R:28:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L28) *style:* **Use two spaces to indent, never tabs.**
```r
	occurence <- 10^rnorm(pool_richness, mean = 0, sd = occurence_distribution)
^
```
[R/generateArtificialData.R:28:26:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L28) *style:* **Put spaces around all infix operators.**
```r
	comm_spec_matrix <- matrix(rep(0, (n_communities * pool_richness)),
                        ~^~~
```
[R/generateArtificialData.R:28:43:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L28) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	comm_spec_matrix <- matrix(rep(0, (n_communities * pool_richness)),
                                          ^
```
[R/generateArtificialData.R:28:58:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L28) *style:* **Put spaces around all infix operators.**
```r
	comm_spec_matrix <- matrix(rep(0, (n_communities * pool_richness)),
                                                        ~^~
```
[R/generateArtificialData.R:30:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L30) *style:* **Use two spaces to indent, never tabs.**
```r
	richness_values <- round((rnorm(n_communities, mean = 0, sd = 1) * (sd_richness * pool_richness) +
^
```
[R/generateArtificialData.R:31:19:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L31) *style:* **Put spaces around all infix operators.**
```r
	occurence <- 10^rnorm(pool_richness, mean = 0, sd = occurence_distribution)
                 ~^~~
```
[R/generateArtificialData.R:31:24:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L31) *style:* **Put spaces around all infix operators.**
```r
	occurence <- 10^rnorm(pool_richness, mean = 0, sd = occurence_distribution)
                      ~^~
```
[R/generateArtificialData.R:31:51:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L31) *style:* **Put spaces around all infix operators.**
```r
	occurence <- 10^rnorm(pool_richness, mean = 0, sd = occurence_distribution)
                                                 ~^~
```
[R/generateArtificialData.R:31:59:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L31) *style:* **Put spaces around all infix operators.**
```r
	occurence <- 10^rnorm(pool_richness, mean = 0, sd = occurence_distribution)
                                                         ~^~
```
[R/generateArtificialData.R:32:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L32) *style:* **Use two spaces to indent, never tabs.**
```r
	richness_values[which(richness_values > pool_richness)] <- pool_richness
^
```
[R/generateArtificialData.R:33:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L33) *style:* **Use two spaces to indent, never tabs.**
```r
	richness_values[which(richness_values < 0)] <- 0
^
```
[R/generateArtificialData.R:33:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L33) *style:* **lines should not be more than 80 characters.**
```r
	richness_values <- round((rnorm(n_communities, mean = 0, sd = 1) * (sd_richness * pool_richness) +
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/generateArtificialData.R:33:25:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L33) *style:* **Put spaces around all infix operators.**
```r
	richness_values <- round((rnorm(n_communities, mean = 0, sd = 1) * (sd_richness * pool_richness) +
                       ~^~~
```
[R/generateArtificialData.R:33:34:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L33) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	richness_values <- round((rnorm(n_communities, mean = 0, sd = 1) * (sd_richness * pool_richness) +
                                 ^
```
[R/generateArtificialData.R:33:61:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L33) *style:* **Put spaces around all infix operators.**
```r
	richness_values <- round((rnorm(n_communities, mean = 0, sd = 1) * (sd_richness * pool_richness) +
                                                           ~^~
```
[R/generateArtificialData.R:33:69:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L33) *style:* **Put spaces around all infix operators.**
```r
	richness_values <- round((rnorm(n_communities, mean = 0, sd = 1) * (sd_richness * pool_richness) +
                                                                    ^~
```
[R/generateArtificialData.R:33:74:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L33) *style:* **Put spaces around all infix operators.**
```r
	richness_values <- round((rnorm(n_communities, mean = 0, sd = 1) * (sd_richness * pool_richness) +
                                                                        ~^~
```
[R/generateArtificialData.R:33:76:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L33) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	richness_values <- round((rnorm(n_communities, mean = 0, sd = 1) * (sd_richness * pool_richness) +
                                                                           ^
```
[R/generateArtificialData.R:33:89:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L33) *style:* **Put spaces around all infix operators.**
```r
	richness_values <- round((rnorm(n_communities, mean = 0, sd = 1) * (sd_richness * pool_richness) +
                                                                                ~^~
```
[R/generateArtificialData.R:34:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L34) *style:* **Use two spaces to indent, never tabs.**
```r
	for(i in 1:n_communities){
^
```
[R/generateArtificialData.R:35:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L35) *style:* **Use two spaces to indent, never tabs.**
```r
	  if(mechanism_random == T){
^
```
[R/generateArtificialData.R:35:47:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L35) *style:* **Put spaces around all infix operators.**
```r
	richness_values[which(richness_values > pool_richness)] <- pool_richness
                                             ~^~
```
[R/generateArtificialData.R:35:65:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L35) *style:* **Put spaces around all infix operators.**
```r
	richness_values[which(richness_values > pool_richness)] <- pool_richness
                                                               ~^~~
```
[R/generateArtificialData.R:36:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L36) *style:* **Use two spaces to indent, never tabs.**
```r
	    present_species <- sample(c(1:pool_richness), richness_values[i],
^
```
[R/generateArtificialData.R:36:47:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L36) *style:* **Put spaces around all infix operators.**
```r
	richness_values[which(richness_values < 0)] <- 0
                                             ~^
```
[R/generateArtificialData.R:37:12:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L37) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	for(i in 1:n_communities){
           ^
```
[R/generateArtificialData.R:38:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L38) *style:* **Use two spaces to indent, never tabs.**
```r
	  }else{
^
```
[R/generateArtificialData.R:38:13:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L38) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	  if(mechanism_random == T){
            ^
```
[R/generateArtificialData.R:39:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L39) *style:* **Use two spaces to indent, never tabs.**
```r
	    opt_traits <- rnorm(n_traits, mean = 0, sd = 1)
^
```
[R/generateArtificialData.R:39:29:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L39) *style:* **Put spaces around all infix operators.**
```r
	    present_species <- sample(c(1:pool_richness), richness_values[i],
                           ~^~~
```
[R/generateArtificialData.R:40:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L40) *style:* **Use two spaces to indent, never tabs.**
```r
	    opt_traits_matrix <- c()
^
```
[R/generateArtificialData.R:41:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L41) *style:* **Use two spaces to indent, never tabs.**
```r
	    for(j in 1:n_traits){
^
```
[R/generateArtificialData.R:42:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L42) *style:* **Use two spaces to indent, never tabs.**
```r
	      for(k in 1:pool_richness){
^
```
[R/generateArtificialData.R:42:24:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L42) *style:* **Put spaces around all infix operators.**
```r
	    opt_traits <- rnorm(n_traits, mean = 0, sd = 1)
                      ~^~~
```
[R/generateArtificialData.R:42:48:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L42) *style:* **Put spaces around all infix operators.**
```r
	    opt_traits <- rnorm(n_traits, mean = 0, sd = 1)
                                              ~^~
```
[R/generateArtificialData.R:43:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L43) *style:* **Use two spaces to indent, never tabs.**
```r
		      l <- (j - 1) * pool_richness + k
^~
```
[R/generateArtificialData.R:44:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L44) *style:* **Use two spaces to indent, never tabs.**
```r
		      opt_traits_matrix[l] <- opt_traits[j]
^~
```
[R/generateArtificialData.R:44:16:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L44) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	    for(j in 1:n_traits){
               ^
```
[R/generateArtificialData.R:45:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L45) *style:* **Use two spaces to indent, never tabs.**
```r
	      }
^
```
[R/generateArtificialData.R:45:18:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L45) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	      for(k in 1:pool_richness){
                 ^
```
[R/generateArtificialData.R:46:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L46) *style:* **Use two spaces to indent, never tabs.**
```r
	    }
^
```
[R/generateArtificialData.R:46:25:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L46) *style:* **Put spaces around all infix operators.**
```r
		      l <- (j - 1) * pool_richness + k
                       ~^~~
```
[R/generateArtificialData.R:46:28:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L46) *style:* **Place a space before left parenthesis, except in a function call.**
```r
		      l <- (j - 1) * pool_richness + k
                           ^
```
[R/generateArtificialData.R:46:31:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L46) *style:* **Put spaces around all infix operators.**
```r
		      l <- (j - 1) * pool_richness + k
                             ~^~
```
[R/generateArtificialData.R:46:36:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L46) *style:* **Put spaces around all infix operators.**
```r
		      l <- (j - 1) * pool_richness + k
                                  ~^
```
[R/generateArtificialData.R:47:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L47) *style:* **Use two spaces to indent, never tabs.**
```r
	    opt_traits_matrix <- matrix(opt_traits_matrix, ncol = n_traits)
^
```
[R/generateArtificialData.R:47:44:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L47) *style:* **Put spaces around all infix operators.**
```r
		      opt_traits_matrix[l] <- opt_traits[j]
                                          ~^~~
```
[R/generateArtificialData.R:48:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L48) *style:* **Use two spaces to indent, never tabs.**
```r
	    traits_distances <- abs(traits_pool - opt_traits_matrix)
^
```
[R/generateArtificialData.R:49:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L49) *style:* **Use two spaces to indent, never tabs.**
```r
	    trait_distances_onedimen <- c()
^
```
[R/generateArtificialData.R:50:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L50) *style:* **Use two spaces to indent, never tabs.**
```r
	    for(m in 1:pool_richness){
^
```
[R/generateArtificialData.R:50:31:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L50) *style:* **Put spaces around all infix operators.**
```r
	    opt_traits_matrix <- matrix(opt_traits_matrix, ncol = n_traits)
                             ~^~~
```
[R/generateArtificialData.R:50:65:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L50) *style:* **Put spaces around all infix operators.**
```r
	    opt_traits_matrix <- matrix(opt_traits_matrix, ncol = n_traits)
                                                               ~^~
```
[R/generateArtificialData.R:51:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L51) *style:* **Use two spaces to indent, never tabs.**
```r
	      trait_distances_onedimen[m] <- sqrt(sum(traits_distances[m, ] * traits_distances[m, ]))
^
```
[R/generateArtificialData.R:51:30:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L51) *style:* **Put spaces around all infix operators.**
```r
	    traits_distances <- abs(traits_pool - opt_traits_matrix)
                            ~^~~
```
[R/generateArtificialData.R:51:49:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L51) *style:* **Put spaces around all infix operators.**
```r
	    traits_distances <- abs(traits_pool - opt_traits_matrix)
                                               ~^~
```
[R/generateArtificialData.R:52:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L52) *style:* **Use two spaces to indent, never tabs.**
```r
	    }
^
```
[R/generateArtificialData.R:53:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L53) *style:* **Use two spaces to indent, never tabs.**
```r
	    inv_distances <- -(trait_distances_onedimen - max(trait_distances_onedimen)) + 10^-99
^
```
[R/generateArtificialData.R:53:16:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L53) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	    for(m in 1:pool_richness){
               ^
```
[R/generateArtificialData.R:54:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L54) *style:* **Use two spaces to indent, never tabs.**
```r
	    present_species <- sample(c(1:pool_richness), richness_values[i],
^
```
[R/generateArtificialData.R:54:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L54) *style:* **lines should not be more than 80 characters.**
```r
	      trait_distances_onedimen[m] <- sqrt(sum(traits_distances[m, ] * traits_distances[m, ]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/generateArtificialData.R:54:43:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L54) *style:* **Put spaces around all infix operators.**
```r
	      trait_distances_onedimen[m] <- sqrt(sum(traits_distances[m, ] * traits_distances[m, ]))
                                         ~^~~
```
[R/generateArtificialData.R:54:77:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L54) *style:* **Put spaces around all infix operators.**
```r
	      trait_distances_onedimen[m] <- sqrt(sum(traits_distances[m, ] * traits_distances[m, ]))
                                                                           ~^~
```
[R/generateArtificialData.R:56:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L56) *style:* **lines should not be more than 80 characters.**
```r
	    inv_distances <- -(trait_distances_onedimen - max(trait_distances_onedimen)) + 10^-99
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/generateArtificialData.R:56:27:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L56) *style:* **Put spaces around all infix operators.**
```r
	    inv_distances <- -(trait_distances_onedimen - max(trait_distances_onedimen)) + 10^-99
                         ~^~~
```
[R/generateArtificialData.R:56:31:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L56) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	    inv_distances <- -(trait_distances_onedimen - max(trait_distances_onedimen)) + 10^-99
                              ^
```
[R/generateArtificialData.R:56:57:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L56) *style:* **Put spaces around all infix operators.**
```r
	    inv_distances <- -(trait_distances_onedimen - max(trait_distances_onedimen)) + 10^-99
                                                       ~^~
```
[R/generateArtificialData.R:56:90:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L56) *style:* **Put spaces around all infix operators.**
```r
	    inv_distances <- -(trait_distances_onedimen - max(trait_distances_onedimen)) + 10^-99
                                                                                ~^~
```
[R/generateArtificialData.R:57:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L57) *style:* **Use two spaces to indent, never tabs.**
```r
	  comm_spec_matrix[i, c(present_species)] <- 1
^
```
[R/generateArtificialData.R:57:29:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L57) *style:* **Put spaces around all infix operators.**
```r
	    present_species <- sample(c(1:pool_richness), richness_values[i],
                           ~^~~
```
[R/generateArtificialData.R:58:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L58) *style:* **Use two spaces to indent, never tabs.**
```r
	}
^
```
[R/generateArtificialData.R:59:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L59) *style:* **Use two spaces to indent, never tabs.**
```r
	comm_spec_matrix
^
```
[R/generateArtificialData.R:60:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L60) *style:* **Use two spaces to indent, never tabs.**
```r
	if(length(which(colSums(comm_spec_matrix) == 0)) != 0) traits_pool_df <-
^
```
[R/generateArtificialData.R:62:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L62) *style:* **Use two spaces to indent, never tabs.**
```r
	row1 <- c(column1[-c(which(colSums(comm_spec_matrix) == 0))])
^
```
[R/generateArtificialData.R:63:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L63) *style:* **Use two spaces to indent, never tabs.**
```r
	if(length(which(colSums(comm_spec_matrix) == 0)) != 0) comm_spec_matrix <-
^
```
[R/generateArtificialData.R:63:11:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L63) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	if(length(which(colSums(comm_spec_matrix) == 0)) != 0) traits_pool_df <-
          ^
```
[R/generateArtificialData.R:63:58:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L63) *style:* **Put spaces around all infix operators.**
```r
	if(length(which(colSums(comm_spec_matrix) == 0)) != 0) traits_pool_df <-
                                                        ~^~~
```
[R/generateArtificialData.R:65:14:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L65) *style:* **Put spaces around all infix operators.**
```r
	row1 <- c(column1[-c(which(colSums(comm_spec_matrix) == 0))])
            ~^~~
```
[R/generateArtificialData.R:65:62:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L65) *style:* **Put spaces around all infix operators.**
```r
	row1 <- c(column1[-c(which(colSums(comm_spec_matrix) == 0))])
                                                            ~^~~
```
[R/generateArtificialData.R:66:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L66) *style:* **Use two spaces to indent, never tabs.**
```r
	comm_spec_matrix <- as.data.frame(cbind(comm_spec_matrix, rep("", n_communities)))
^
```
[R/generateArtificialData.R:66:11:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L66) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	if(length(which(colSums(comm_spec_matrix) == 0)) != 0) comm_spec_matrix <-
          ^
```
[R/generateArtificialData.R:66:58:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L66) *style:* **Put spaces around all infix operators.**
```r
	if(length(which(colSums(comm_spec_matrix) == 0)) != 0) comm_spec_matrix <-
                                                        ~^~~
```
[R/generateArtificialData.R:67:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L67) *style:* **Use two spaces to indent, never tabs.**
```r
	names(comm_spec_matrix) <- row1
^
```
[R/generateArtificialData.R:69:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L69) *style:* **Use two spaces to indent, never tabs.**
```r
	plots <- as.data.frame(matrix(as.numeric(as.matrix(comm_spec_matrix[, -ncol(comm_spec_matrix)])),
^
```
[R/generateArtificialData.R:69:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L69) *style:* **lines should not be more than 80 characters.**
```r
	comm_spec_matrix <- as.data.frame(cbind(comm_spec_matrix, rep("", n_communities)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/generateArtificialData.R:69:26:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L69) *style:* **Put spaces around all infix operators.**
```r
	comm_spec_matrix <- as.data.frame(cbind(comm_spec_matrix, rep("", n_communities)))
                        ~^~~
```
[R/generateArtificialData.R:70:33:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L70) *style:* **Put spaces around all infix operators.**
```r
	names(comm_spec_matrix) <- row1
                               ~^~~
```
[R/generateArtificialData.R:72:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L72) *style:* **Use two spaces to indent, never tabs.**
```r
	names(plots) <- traits_pool_df[, 1]
^
```
[R/generateArtificialData.R:72:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L72) *style:* **lines should not be more than 80 characters.**
```r
	plots <- as.data.frame(matrix(as.numeric(as.matrix(comm_spec_matrix[, -ncol(comm_spec_matrix)])),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/generateArtificialData.R:72:15:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L72) *style:* **Put spaces around all infix operators.**
```r
	plots <- as.data.frame(matrix(as.numeric(as.matrix(comm_spec_matrix[, -ncol(comm_spec_matrix)])),
             ~^~~
```
[R/generateArtificialData.R:74:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L74) *style:* **Use two spaces to indent, never tabs.**
```r
	traits_pool_df[ ,c(2:ncol(traits_pool_df))] <- as.matrix(
^
```
[R/generateArtificialData.R:75:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L75) *style:* **Use two spaces to indent, never tabs.**
```r
	                traits_pool_df[ ,c(2:ncol(traits_pool_df))])
^
```
[R/generateArtificialData.R:75:22:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L75) *style:* **Put spaces around all infix operators.**
```r
	names(plots) <- traits_pool_df[, 1]
                    ~^~~
```
[R/generateArtificialData.R:77:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L77) *style:* **Use two spaces to indent, never tabs.**
```r
	for (i in 2:ncol(traits_pool_df)) {
^
```
[R/generateArtificialData.R:77:53:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L77) *style:* **Put spaces around all infix operators.**
```r
	traits_pool_df[ ,c(2:ncol(traits_pool_df))] <- as.matrix(
                                                   ~^~~
```
[R/generateArtificialData.R:79:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L79) *style:* **Use two spaces to indent, never tabs.**
```r
	}
^
```
[R/generateArtificialData.R:80:1:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L80) *style:* **Use two spaces to indent, never tabs.**
```r
	output <- list( traits = traits_pool_df, abundances = plots);
^
```
[R/generateArtificialData.R:80:13:](https://github.com/thijsjanzen/STEPCAM/blob/4711a0d516fc6305eb0969fa95384e2005ccf507/R/generateArtificialData.R#L80) *style:* **Place a space before left parenthesis, except in a function call.**
```r
	for (i in 2:ncol(traits_pool_df)) {
            ^
```


Sizing-Simple-Chilled-Ceiling (RKStrand) - x86_64-Linux-Ubuntu-14.04-custom_check: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg)


Gute Idee, das sieht schöner aus. Lass uns dies bald mal machen, aber erst nach dem Go-Live.


Let's delete this - might be confusing


Maybe only print if it fails


Add a print statement saying your list of numbers is in numbers.csv


@JohnyDeath тест другого режима выдачи комментариев от SQ


I like this


是，不过 `\clearpage` 也是一种 penalty XD


this should probably be kept in the readme, until it is generated


<img width="667" alt="screen shot 2016-09-21 at 08 58 41" src="https://cloud.githubusercontent.com/assets/1042225/18710566/2d2e3d58-8006-11e6-8a42-826c0a6ba514.png">


well, I do it one by one....feel free to be more verbose in commit message ;)


ou


ahahah


That's an amusing way to do it.  But let's not do that -- please build a proper 'structured type', which does not do any actual computation.


Since it adds complexity shouldn't this run as SPRT[0,5]


No worries, I didn't feel any pressure while writing these messages :)

The not-so-easy-to-integrate changes are not yet merged but I'll probably do a pull request for those.


Please review and merge this as this is high priority


I suggest to add another value in the array containing only languages that are not requested in the headers.


Fix #3


Crawler for e-hentai


+hello w


I fixed my branch (I'm not totally sure but it seems to work fine with my test files and I noticed a performance increase in all files): https://github.com/UPBGE/blender/commit/0cb633093d99


Is this required?


@shakuzen don't bother creating the issue. I've polished the support. Please give that a try and open a separate issue if other changes are required. Thanks!


@youle31 : Indeed the issue you exposed is right. But indeed of duplicating material, i'm trying to made attributes layer(=uv index array) contained in the meshes (which can be multiple by materials) and not per materials like for the shader attributes.


if required  please write it as *********TEST STOP*********


If this passes it reduces the astonishment factor [POLA](https://en.wikipedia.org/wiki/Principle_of_least_astonishment), so the addition of few lines should be justified IMO.


ты заебал, @TheZombie2111
ты можешь писать коммит месседжы **нормально**?
и разделять ска изменения по коммитах?


LGTM


After running my unit tests, I noticed that this change modified the default behavior for the _required_ schema keyword. For example:

Schema:
`{ "type": "object", "properties": { "test": { "type": "integer" } }, "required": [ "test" ] }`

Input:
`{ "TEST": 0 }`

The validation used to return false (because the property name was incorrect and failed the required check), but now returns true. Was this intended?


jquery slider code added.
however blueberry.css is missing for styling.


Should this be something that we should do only for the registration endpoint?


Why not just use `ha_monitor.lua`? It does same thing.


Agreed, please follow the procedures written in the wiki: https://github.com/glinscott/fishtest/wiki/Creating-my-first-test#testing-methodology-or-when-should-i-change-the-standard-parameters-for-tests

This is not a simplification, if you feel it is a bug fix, then ask in the forum and Marco or Joona will tell :-)


No, I don't see any reason to do that. We have server-side timeouts as well so a long running connection would be cut that way anyhow.


TaskCluster-GitHub: https://tools.taskcluster.net/task-graph-inspector/#By79it5ZReSpULCR4O5jXQ


this?


Insert option to lock or unlock the ticket after change the owner


print
print msg
print

can be rewritten to:
print '\n%s\n' % msg


Wrong commit comment, should have been 18.3.2 (not 19.3.2)


It seems like this section should perhaps be included in the project README instead of in the component template README.


Indeed. Not sure why I missed this. Looking at it now.


@snicolet OK, as it was still at the beginning (very few games played) I stopped the test.


add yourself as contributor to the bottom of the README!


GitHub test file


 f = open("numbers.csv", "w")
You can do:

with open('numbers.csv', 'w'):
     //logic for putting stuffs into your csv file

once out of the with block the file handler will close


"only has to be done once"

What happens if the storage server restarts?


Ahh, interesting.

I've been prototyping using mercury for a while, but hadn't been keeping up with how mercury/thyphon were converging.


@jdubois the check for `no` is not required as its a new option so this can be just `this.messageBroker = this.config.get('messageBroker');`


Java `==` won't work well on boxed primitives though.
A `ReferenceEqualNode` would be needed.
There is already SameOrEqualNode for the composition with `==`, maybe we can have a SameOrEqlNode.


it was for backward compatibility of existing options


Thanks @alastair, https://github.com/MTG/freesound/commit/e49651e236127f4dd5000cddc88370583ff5564a now it taking less than a second for that pack.


例子代码的缩进注意下


So why did you add that complexity? What's the need for `apath`? Also, `strcpy` does copy the terminator. This should be all there's to it, right?
```
int path_to_filename2(string fpath, char* &fname) {
    if (fpath.size() == 0) {
        return -1;
    }
    if (fpath[fpath.size()-1] == '/') {
        return -2;
    }
    const char* bname = basename(fpath.c_str());
    fname = new char[strlen(bname)+1];
    strcpy(fname, bname);
    return 0;
}
```

You haven't yet elaborated on the portability issue. If that indeed prevails then any discussion of implementation details is useless anyway 😁


这里不要空行


log.Fatal就直接退出了，return就不需要了


Should probably also have a change log; would basically be "no more support for N|Solid 1.x; support for N|Solid 2.x", mention change in options


这里演示下怎么读取图片的


#1 订单数据获取 fixed


这里的空行也不需要


i will change that... but i think you this is the right way and not like you said... im saying that because te return value defines if the device is detected or not... if this return false, its because an wrong word is received (without altitude, my device never send without that, and if it is out of my device range) this means its not my device, so i think it has to return false instead true even without that parameter...

i will change, but, i think its not wrong. thanks


多余空行


这句什么用途？上一句不是写了吗？


thanks, its work.


This is a bit abstract and not very helpful to potential authors I think. I suggest rolling it into the next item in some way, since the working build from a short guide is a quick win anyway.


这个函数有在用吗？


You fixed it :heart_eyes:


a do not delete just close function


goadb里面又直接往手机上写文件的接口，可以不用在本地创建个文件，直接写到手机上


rand出来的port不一定不被占用


double check this - remove initial payment?


even for rough scripts, you should get in the habit of doing the following:

```
def main(argv=None):
     //main script logic here
     //or function calls

if __name__ == '__main__':
    try:
        sys.exit(main())
    except Exception as e:
        traceback.print_exc()
    except KeyboardInterrupt:
        sys.exit('Exit on User Request.')
    sys.exit(2)
```


ah, it was excluded because the package task made its own metadata, to avoid having two of them in the zip file. It doesn make in this context, though, so I will remove it


有个很简单的代码可以参考下 <https://github.com/facebookgo/freeport/blob/master/freeport.go>


Bit of a mouthful. Probably worth redoing. Perhaps "Don't require readers to understand any topic unless such a topic is considered a prerequisite for the task."


Can we re-word to something like: "Set to `true` if a dedicated load balancer is requested.  Default: `false` (shared)"


这句什么用途 ？


I'm pretty sure the quotes here are going to cause problems.


this isn't confusing :)


GetInternalVariableBug (mjwitte) - i386-Windows-7-VisualStudio-12: OK (2339 of 2339 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


please correct the constants spelling here.


TeamCity OTA+ :: rvi_sota_server :: ci [Build 1079](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=13766&buildTypeId=ota_plus_RviSotaServer_Ci) is now running


不strip也没关系，可以直接这么简单的写 if serial == "" 这个函数也要开放吗？


check this


Do we really need this one? We might prioritise guides that match frequent Google searches, but I don't see why it should be a common trait. Niche guides can be useful too.


BTW, I had a look at the config we use for opi+2e, and I think a fair number of options are not needed, would a cleanup of the low hanging fruits be useful ?


I see you added this but didn't use it. It will simplify writing to csv in python. If this csv is going to contain more metadata per number in the csv. I would highly suggest looking into the csv.DictWriter -> which is awesome


Docker-compose creates directories on the host if they do not exist. Should we remove mkdir commands?


Seems like I missed the moment when this was added. Shouldn't this be generic for all events that can be cancelled?


I pretty much copied the items from gradle/guides#24 and adjusted a few things. I'd like to discuss here what stays, what goes, and what needs minor changes.


> "Write documentation a little tutorial"

**and** missing?


For customer facing scripts, lets make sure we use the python logger to standard out, rather than print lines. We can put logging levels in for the users, with DEBUG, INFO, ERROR. If you need help implementing this, let me know but that would be a great feature to customer facing scripts as we write them.


We usually say "performance hit" instead of "performance toll".


Apparently calling clear_param() on LayerParameter is enough.


Sorry, I wasn't clear enough. Yes, the text already mentions the target device. But Ithink that with the current text, the reader could get the idea that the micro:bit or esp8266 is just an example of a device that works with the program. I think the article should say, much more explicitly than now, that the tools are for specific boards and won't work with others.


I wouldn't create the scripts around input on the command line interactively. Also, you'll need handle when they just press enter and don't input anything.

If they can run python scripts, they can probably add these values via arguments to the script just as easily.

You can look into the argparse module for this passing in the args.


I totally forgot about that. Can we achieve (somewhat easily) the same functionality using jQuery's built-in methods, like `$.grep` and `$.map`?

I don't wan't to drop support for IE8 just now. There's code scattered all around to make it work on IE7/8 and we would have to clean all up. I rather add this feature now before we can do that.


**The** HTTP requests plugin..


如果输出中本身就有 GO_MINICAP_TAG: 会出问题的。 而且还有更简单的办法，给你举个例子

```go
s := "hello world:120"
index := strings.LastIndexByte(s, ':')
println(s[index:]) // should print 120
```


这里错误的返回值也要打出来


Not sure I like the sentence. Maybe something like "The output is displayed in the UI as a graph representing the recent history, and as a number above the graph representing the last measured value."


I copied this phrase from the original docs


s/ebpf/eBPF


两个过滤器函数：domain获取传入链接的域名；fromNow获取一段时间（例如：2天前：即为当前时间到创建的时间为2天）；


Yes, I just see that omitting NDK_DEBUG=1 is the same as omitting it (for android:debuggble="true"). Reverted, to use the recommended default again.


should add a test for that condition as well


If the running plugin **is** picked up…


@pgwillia you might want to touch base with @cam156 on this. Carolyn should be able to give you a more recent update on what happened to this code. When I left PSU the plan was to move most of this code to Sufia itself (rather than keeping it in ScholarSphere).


[Code coverage](https://139-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html) is currently at **99.76%**


it **can** take a while


你可以直接写成 exec.Command(d.AdbPath, "shell", cmds...), 还有两台设备的时候不会出问题吗？


Probably put weavescope inside backticks, so it gets monospaced.


check this - getting amount to pay when its not been set? is this set?


But I think we should re-think of it in the next iteration @umayanga123


You don't need to add: ```[0:int(length)]```


s/In another terminal/In another terminal**,**/


Run **the** HTTP requests plugin


same here as above


ok i will change that but this is exactly same way the bluevario device works...


Capitalize http.


有buildCommand 这个函数感觉没什么用了，因为它等价于

```
cmd := buildCommand(xxx)
cmd.Start()
```


重复代码


这个已经改了


Damn :/ Unfortunately I don't have access to an OS X box right now - I suppose we should either a) remove `libX11` and `imlib2` on darwin or add `libXext` (and possibly others?) to `buildInputs`.


paymentDates being overwritten, should be new variable?


My comment is less useful. But the spacing here is different than the other 3 if statements in the diff.


为了防止空格问题，改成 `d.shell("getprop", key)`


you can either do:

``` 'total length of list response = %s' % length```
or
```'total length of list reponse = {}'.format(length)```
or
```'total length of list response = {length}'.format(length=length)```

but avoid doing string + string


TeamCity OTA+ :: rvi_sota_server :: ci [Build 1079](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=13766&buildTypeId=ota_plus_RviSotaServer_Ci) outcome was **FAILURE**
Summary: Tests failed: 8 (8 new), passed: 214, ignored: 3 Build time: 00:09:39
### Failed tests
```
org.genivi.sota.core.transfer.DeviceUpdatesSpec.when multiple packages are pending sorted by installPos: <no details avaliable>

org.genivi.sota.core.transfer.DeviceUpdatesSpec.sets install priority for one package: <no details avaliable>

org.genivi.sota.core.transfer.DeviceUpdatesSpec.rest of installation queue (consecutive installPos) remains Pending upon one package failing to install: <no details avaliable>

org.genivi.sota.core.DeviceUpdatesResourceSpec.GET update requests for a device returns a list of PendingUpdateResponse: <no details avaliable>

org.genivi.sota.core.DeviceUpdatesResourceSpec.PUT to set install order should change the package install order: <no details avaliable>

org.genivi.sota.core.DeviceUpdatesResourceSpec.GET update results for a vehicle returns a list of OperationResults: <no details avaliable>

org.genivi.sota.core.DeviceUpdatesResourceSpec.GET update results for an update request returns a list of OperationResults: <no details avaliable>

org.genivi.sota.core.UpdateServiceSpec.queue an update for a single device creates an update request: <no details avaliable>

```


double check this


判断函数存不存在又专门的函数，去查goadb的文档


s/himslef/itself
s/to it/to the report/
s/the scope will merge/Scope Probe/


Still Labels is being display as undefined for activities of calendar dashlet in homepage dashboard.


[Code coverage](https://140-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html) is currently at **99.76%**


Pandas is probably overkill, and all the scripts should probably stick to standard python libraries so the user doesn't have to install extra stuff


Run `bash test.sh`, …
long-term (put a dash between the words)
and then it will start getting the main page until user interrupts it with Ctrl+c (I'm not sure about the capitalization of the ctrl word).


哪里会用到density？


Sure, it shouldn't be big problem to refactor this to built-in jQuery methods. Let me do that (if you want).

What are you plans to drop the support? I would be happy to help you out :)


Changes look good


[Code coverage](https://141-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html) is currently at **99.78%**
Compared to **99.76%** at [master](https://140-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html)
Coverage increased by **+0.02%**


Orientation 就只有着两种情况吗？


[Code coverage](https://143-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html) is currently at **100%**
Compared to **99.76%** at [master](https://140-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html)
Coverage increased by **+0.24%**


Please see comments


Instead of duplicating the information, you could link to that page?

https://github.com/weaveworks/scope/tree/master/examples/plugins#reporter-interface


Doesn't this section duplicate (at least partially) contents of the plugins' README?


I don't see the equivalent of command-level filtering using the `--app` cli option, as in 1.x.  Presumably this is sent to the apiclient in some fashion, along with the relevant command.


IK VIND DEZE KLEUR ECHT LELIJK

IK VERGEEWT DIT NIET


Delete the META-INF folder this is auto genned on upload to AMO


s/himslef/itself/


如果不匹配，m == nil, 不用再调用 MatchString了


Change this line to the what you want to name the the addon


What do yo uwant version to be? Probably 1.0


Would be great to get this merged upstream.


lower case your addon name, replace spaces with hyphen. and then stick `@jetpack` on it


As you see [here](http://www.mineplex.com/forums/m/11929946/viewthread/28444996-gwen-phase-two-release/post/123394959#p123394959) and [here](http://www.mineplex.com/forums/page/4/m/11929946/viewthread/28444996-gwen-phase-two-release#p123395396) it started to ban people.


[Code coverage](https://144-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html) is currently at **99.76%**


[Code coverage](https://146-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html) is currently at **100%**


I'd say no to "the" before "scope" and maybe put "scope" in backticks?
Also maybe "if it discovers other plugins"? But this part of the sentence is not really clear to me.


Translations *are* maintained *in* Transifex.


[Code coverage](https://145-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html) is currently at **99.78%**
Compared to **100%** at [master](https://146-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html)
Coverage decreased by **0.22%**


I was thinking of an OrderedDict, might be better so that word frequencies can be added at some point.


Those lines in AI.cpp were needed. There were basically two bugs that were canceling each other out: the one fixed here, and a separate bug allowing ships to take on fighters they didn't think they had space for, in AI.cpp. When the AI bug was fixed, the other bug reared its head. But the right solution is to fix both bugs, rather than to add the other bug back in.


what is this link?


乾，這什麽辣鷄Code


Also "`Plugins` is the list of the…"


Should this be a [`bundledDependencies`](https://docs.npmjs.com/files/package.json#bundleddependencies) thing?


[Code coverage](https://147-47334959-gh.circle-artifacts.com/0//home/ubuntu/parse-js/coverage/lcov-report/index.html) is currently at **100%**


strip去哪里了，另外空行有处理吗?


s/identify/identifies


What was the issue you were seeing?


Updated all the files


拉基


Change this entry in the array to match addon pages.

For example this is an addon page: `https://addons.mozilla.org/en-US/firefox/addon/findbar-tweak/?src=hp-dl-featured`

So to match this we would change `http://www.glowing-bear.org/*` to `https://addons.mozilla.org/*/firefox/addon/*/*`


Thanks I just removed them :)


s/by/by the


Is this sequence of arguments optimal? I'm wondering whether `y` should go somewhere else or not: having `gamma` as last argument would allow it to be optional and take `1.0` as default value.


make this whole file just be `alert('hi on page!')`


Maybe s/carries/contains/? And maybe describe what `Processes` really is? Because containing the measurements done by the plugin can be a description of any topology.


可简写成 `d.shell("kill", "-9", pid)`


Thanks!


Very thank you.


Not sure if "section" is a good word here. Fragment? Snippet?


This will be linked to the metrics documentation after I have done it


The detection does not work for windows 10 environments, PHP_WINDOWS_VERSION_MAJOR is not set in my mamp pro with php 7.0.9


@tokumotion am also getting the same error and I applied all above mention ways but didnt get rid of that error. Can u help me on this.


NewAdbDevice这个方法暂时不要公开


Why is it "1.0" instead of "1"? Are all values necessarily float points?


Something like `Snippet from the report showing the `Plugins` field", maybe.


Again, looks like it is duplicated from the other README.


应该经常存在localhost被改掉的情况，这个地方用 `127.0.0.1` 会更好一点


@lsps9150414 I haven't tried but with absolute position your scene will be on top of the header.


这是什么Port？


proba dodavanja datoteke.


Same as above about `Plugins`.


Right. 😄


Done in e5d20a559e8480582f90c0436d6fd4d0639d42a4


这个地方需要加点注释了？用于方便生成文档


a


newRotation -> newRotationService


I have never seen a non-integer value, but in the code is defined as `float`
https://github.com/weaveworks/scope/blob/master/examples/plugins/http-requests/http-requests.py#L104


has a single `metric_templates` array field containing one or more elements?


I think we can start working on that soon as we release multiple support.

One thing I can't wait to remove is this: [selectric.scss](https://github.com/lcdsantos/jQuery-Selectric/blob/master/src/selectric.scss#L47). And use more ES5 functions that I purposely left out.

If I started today writing this I would use ES6 and transpile back to ES5. But that's a long shot by now :)


isFileExisted 怎么还有两个返回值？


[R/alignment_to_beast_posterior.R:103:3:](https://github.com/richelbilderbeek/wiritttes/blob/9b27fe10db40f33ff70279656b988ee719cd0a50/R/alignment_to_beast_posterior.R#L103) *warning:* **local variable ‘has_error’ assigned but may not be used**
```r
  has_error <- FALSE
  ^~~~~~~~~
```


还有一般都叫做 isFileExists


Arr... do you have any suggestion here? I don't really use Windows, we did a quick setup in a partition but I don't have easy access to Windows machines for testing.


These messages are used by social login plugins other than github, I'll merge this into the gnet-oauth branch and clean them up there.


s/carried/contained/? s/section/field/?
What's up with this **link\_to\_metrics\_in\_the\_docs**
s/metric_template/metric_templates/


timing strategy not in repo left over in the project file


same here.
With some of these changes could not run anymore npm command under linux


不妨写个`for _, filename := range []string{"minicap.so", "minicap"}`


HttpOnly flag with TGC missed, while 4.1.6 is ok.


Done fixed this one :+1:


如果minicap不存在，你怎么确定minicap是支持的呢？


Out of curiosity, do you know what Docker images did they use for [plugin.png](https://github.com/weaveworks/scope/blob/master/imgs/plugin.png)?

They seem to use a "httpd" Docker image and a "httpclient" Docker image.

But in your tutorial, you will use "httpd" in a Docker container and the client is directly executed on the host.


The need for `apath` is this:
```
pathtest.cpp:73:45: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
     const char* bname = basename(fpath.c_str());
                                  ~~~~~~~~~~~^~
```
You also can't `const_cast<char *>(fpath.c_str())` as `basename()` potentially changes the array which is undefined behavior. So you need to copy `fpath` before calling `basename()` and you need to copy the string where `bname` points to into `fname` (which in your example needs to be allocated by the caller).

Since the library is also used on Windows (as the includes in `str_util.cpp` suggest) portability is the main issue here. There is an equivalent for `basename()` on Windows that can be used instead but I don't see the need to implement this when there is an implementation using only `std::string` which is available on all platforms.


+ Repository for learning how to work on GitHub


This commit was done from the command line to test


这个函数去掉吧，没什么卵用


Can this go into a separate feature branch please as OpenEyes is not ready for this change, so we would want to deploy this at the same time.


Why do you need a long term connection? Is it a workaround?


You could probably split it into two sentences (replace the comma with a dot).
Again s/section/something else, like field or array field?


这函数代码太多了


Update


Sorry, this is where my comment about the feature branch should have gone.


好像有问题，现在我VIP账号也不能回帖了，显示“当前设置新手用户不能在 22:00 ~ 9:00 发帖。”


I don't know whether its this commit or an earlier one, but currently the button to trigger the camera opening is not showing for us on iphone or android.


I want to be able to rate-limit that "replyback" feature (lines 74-78 before commit) without having to repeat all the code again. Will throw the rate limiting in a function soon. Also, the self.sourcehistory logic is ripped almost verbatim from v0.2.1 💯


I do not know what they used, I used the hello world go example from `rkt`


Visual Regression Testing found a difference between new version and the baseline.
Check the diffs [here](http://jenkins.wikia-prod:8080/job/design-system-reference-page-pr-check/518/).
Accept the new baseline [here](http://jenkins.wikia-prod:8080/job/design-system-reference-page-update-baseline/parambuild?branch=XW-2076).


可以试试远程读取，另外本地的临时目录创建了别忘了删掉，别光删手机上的