小编Yog*_*rji的帖子

如何在Scala中使用switch/case(简单模式匹配)?

我发现自己陷入了一件非常微不足道的事情: - ]

我有一个枚举:

 object Eny extends Enumeration {
      type Eny = Value
      val FOO, BAR, WOOZLE, DOOZLE = Value
    }
Run Code Online (Sandbox Code Playgroud)

在代码中,我必须将它有条件地转换为数字(varianr-number对应关系因上下文而异).我写:

val en = BAR
val num = en match {
  case FOO => 4
  case BAR => 5
  case WOOZLE => 6
  case DOOZLE => 7
}
Run Code Online (Sandbox Code Playgroud)

这给了我每个分支的"无法访问代码"编译器错误,但无论第一个是什么(在这种情况下"情况FOO => 4").我究竟做错了什么?

scala pattern-matching switch-statement

44
推荐指数
2
解决办法
5万
查看次数

在谷歌Bigquery做一组

这是我的BigQuery

SELECT word,word_count,corpus_date FROM 
[publicdata:samples.shakespeare] 
WHERE word="the" ORDER BY word_count asc
Run Code Online (Sandbox Code Playgroud)

它给出了输出

    Row word    word_count corpus_date   
    1   the       57       1609  
    2   the       106      0     
    3   the       287      1609  
    4   the       353      1594  
    5   the       363      0     
    6   the       399      1592  
    7   the       421      1611  
Run Code Online (Sandbox Code Playgroud)

我希望数据按corpus_date分组.我尝试使用corpus_date分组

    SELECT word,word_count,corpus_date FROM 
   [publicdata:samples.shakespeare] 
    WHERE word="the" group by corpus_date 
    ORDER BY word_count asc
Run Code Online (Sandbox Code Playgroud)

但它不允许我通过corpus_date做一个小组.任何方式获取按corpus_date分组的数据

google-bigquery

6
推荐指数
1
解决办法
8133
查看次数