цикл с несколькими условиями

Наконец выяснили причину :). Я забыл импортировать и включить HttpClient в свой файл app.module.ts и импортировать массив, что делает его недоступным для приложения (я так думаю).

`import {BrowserModule} из '@ angular / platform- браузер; import {NgModule} из '@ angular / core';

//Router Module for Application level Route
import { RouterModule,Routes } from '@angular/router';

import { AppComponent } from './app.component';
import { HomeComponent } from './home/home.component';
import { BookViewComponent } from './book-view/book-view.component';

//import statement for service
import { BookService } from './book.service';
import { BookHttpService } from './book-http.service';

import { HttpClientModule } from '@angular/common/http'; 

//decorators
@NgModule({
  declarations: [
    AppComponent,
    HomeComponent,
    BookViewComponent,
  ],
  imports: [
    BrowserModule,
    RouterModule.forRoot([
      { path: 'home', component: HomeComponent },
      { path: 'book/:isbn', component: BookViewComponent }
    ]),
    HttpClientModule
  ],
  providers: [BookService,BookHttpService],
  bootstrap: [AppComponent]
})

export class AppModule { }

Я забыл включить этот модуль import { HttpClientModule } from '@angular/common/http';

Но вторая ошибка все еще на месте. SyntaxError: неожиданный токен: '{' scripts.js: 1: 5 . Я не могу понять, почему это ошибка.

Файл angular.json:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "series": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "prefix": "app",
      "schematics": {},
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/series",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.app.json",
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/styles.css",
              "node_modules/bootstrap/dist/css/bootstrap.min.css"

            ],
            "scripts": [
              "node_modules/jquery/dist/jquery.min.js"
            ]
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "series:build"
          },
          "configurations": {
            "production": {
              "browserTarget": "series:build:production"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "series:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "src/karma.conf.js",
            "styles": [
              "src/styles.css"
            ],
            "scripts": [],
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "src/tsconfig.app.json",
              "src/tsconfig.spec.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    },
    "series-e2e": {
      "root": "e2e/",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "e2e/protractor.conf.js",
            "devServerTarget": "series:serve"
          },
          "configurations": {
            "production": {
              "devServerTarget": "series:serve:production"
            }
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": "e2e/tsconfig.e2e.json",
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    }
  },
  "defaultProject": "series"
}

0
задан Julio Rodríguez 19 January 2019 в 09:48
поделиться

2 ответа

Не проверено, но не будет ли достаточно просто использовать одну петлю?

metaxcan <- c("foo1.csv", "foo2.csv")
predix_asso <- c("soo1.csv", "soo2.csv")



for (i in metaxcan){

  PGC<-read.csv(i, header=T, sep=",")
  asociacion<-read.table(i, header=T, sep="") 

PGC_predix <- merge(PGC,asociacion,by="gene")
   ngenes<-nrow(PGC_predix_1)    


print(ngenes)
}
0
ответ дан Stan 19 January 2019 в 09:48
поделиться

Я полагаю, вы не понимаете, как работает цикл for. Запустив приведенный ниже код, вы сможете увидеть, как он точно использует входы для i и j.

for(i in metaxcan)for(j in predix_asso)print(paste(i,j))

Для вашей проблемы я предлагаю использовать один цикл for:

for(i in seq_along(metaxcan)){
    PGC <- read.csv(metaxcan[i], header = TRUE, sep = ",")
    asociacion<-read.table(predix_assp[i], header=T, sep = "") 
    PGC_predix <- merge(PGC, asociacion, by = "gene")
    print(ngenes <- nrow(PGC_predix))
}

Здесь я использую seq_along, который создаст целочисленный вектор по длине метакскана (аналогично 1:length(metaxcan), но он обрабатывает случай, когда длина равна 0 без ошибки)

0
ответ дан Oliver 19 January 2019 в 09:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: