小编Shy*_*nki的帖子

为什么链接匹配表达式不能编译?

链接匹配表达式无法编译.

val x = Array("abc", "pqr")

x match {
  case Array("abc", _*) => Some("abc is first")
  case Array("xyz", _*) => Some("xyz is first")
  case _ => None
} match {
  case Some(x) => x
  case _ => "Either empty or incorrect first entry"
}
Run Code Online (Sandbox Code Playgroud)

虽然以下编译正常:

(x match {
  case Array("abc", _*) => Some("abc is first")
  case Array("xyz", _*) => Some("xyz is first")
  case _ => None
}) match {
  case Some(x) => x
  case _ => "Either empty or incorrect …
Run Code Online (Sandbox Code Playgroud)

scala

5
推荐指数
1
解决办法
922
查看次数

等于scala中的自由函数定义

我已经开始学习Scala并注意到以下两个定义.

def a(m:Int){
    println("-" * m)
}                                         //> a: (m: Int)Unit
Run Code Online (Sandbox Code Playgroud)

=

def a(m:Int) = {
    println("-" * m)
}                                         //> a: (m: Int)Unit
Run Code Online (Sandbox Code Playgroud)

两者都可以使用 a(2)

我注意到第一个函数总是被视为Int => Unit,即使它返回一些东西.

问题:这两个定义在内部有何不同?

(这可能很傻,但我不知道如何谷歌这个)

scala function

3
推荐指数
1
解决办法
75
查看次数

Scala List的cons-operator"::"是否是线程安全的?

cons-operator ::在给定列表上是否是线程安全的?

例如,如果2个线程在同一个列表中使用cons-operator会发生什么?

val listOne = 1::2::3::Nil
val listTwo = 4::5::Nil
val combinedList = listOne ::: listTwo  // thread1
val combinedList2 = listOne ::: 7:8:NIL // thread2 on the same time
Run Code Online (Sandbox Code Playgroud)

multithreading scala race-condition

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

标签 统计

scala ×3

function ×1

multithreading ×1

race-condition ×1