我有这样的代码
Country Name,Country Code,Year,Value
Arab World,ARB,1960,93485943
Arab World,ARB,1961,96058179
Arab World,ARB,1962,98728995
Arab World,ARB,1963,101496308
Arab World,ARB,1964,104359772
Arab World,ARB,1965,107318159
Arab World,ARB,1966,110379639
Arab World,ARB,1967,113543760
Arab World,ARB,1968,116787194
文件看起来像这样。
error: not found: value (all columns)
直到.map {case},我可以通过pop.take(10)打印出来, 我得到了Array [Array [String]]。 但是一旦案件被添加,我就会
protected override void OnException(ExceptionContext filterContext)
{
filterContext.ExceptionHandled = true;
// Redirect on error:
filterContext.Result = RedirectToAction("Index", "Error");
// OR set the result without redirection:
filterContext.Result = new ViewResult
{
ViewName = "~/Views/Error/Index.cshtml"
};
}
所有列含有CountryName,CountryCode,Year,Value等的4个不同错误... 不确定我在哪里做错了。 数据很干净。
答案 0 :(得分:1)
您需要在模式匹配中使用小写变量名称。即:
.map { case Array(countryName, countryCode, year, value) => (countryName, countryCode, year, value) }
在Scala中,大写的模式匹配变量以及反引号(`)中包含的变量取自外部作用域并用作常量。这是一个例子来说明我在说什么:
Array("a") match {
case Array(a) => a
}
将数组与任何字符串匹配,而:
val A = "a"
Array("a") match {
case Array(A) =>
}
仅匹配文字"a"
。或者,相当于:
val a = "a"
Array("a") match {
case Array(`a`) =>
}
也只会匹配文字"a"
。