小编mkn*_*ssl的帖子

如何检查String是否与Scala中的Regex完全匹配?

假设我有一个正则表达式模式我想匹配许多字符串.

val Digit = """\d""".r
Run Code Online (Sandbox Code Playgroud)

我只想检查给定的String是否与Regex完全匹配.在Scala中执行此操作的好方法是什么?

我知道我可以在正则表达式上进行模式匹配,但在这种情况下,这在语法上并不是很令人满意,因为我没有要提取的组:

scala> "5" match { case Digit() => true case _ => false }
res4: Boolean = true
Run Code Online (Sandbox Code Playgroud)

或者我可以回到基础Java模式:

scala> Digit.pattern.matcher("5").matches
res6: Boolean = true
Run Code Online (Sandbox Code Playgroud)

这也不优雅.

有更好的解决方案吗?

regex scala

80
推荐指数
4
解决办法
5万
查看次数

如何将actor消息限制为特定类型?

Akka中,除了使用使用RPC样式编程模型的"Typed Actor"API之外,有没有办法将actor限制为特定的静态类型?

我可以在Akka中使用消息传递样式而不会在actor边界处丢弃静态类型安全吗?

例如,我想使用这样的代码:

sealed abstract class FooMessage
case object Foo extends FooMessage
case object Bar extends FooMessage

class FooActor extends Actor[FooMessage] {
  def receive = {
    case Foo => () // OK

    // Would raise a compiler error:
    // case s: String => error("Can't happen, String is not a subtype of FooMessage") 

  }
}

val fooActor = actorOf[FooActor]
fooActor ! Foo // OK

// Won't compile:
fooActor ! "Hello"
Run Code Online (Sandbox Code Playgroud)

也许人们必须扩展一些基本特征或者具有Either允许系统级消息(Exit等等)的构造.

scala actor akka

38
推荐指数
2
解决办法
5006
查看次数

使用Scala和Apache Camel时是否存在已知问题?

我知道Camel支持Scala DSL.除此之外

  • 对于基于Camel的项目,Scala完全替换Java(该语言)是否现实?

  • 已知存在哪种已知问题?

  • 这些问题存在哪些变通方法(除了使用Java)?

我主要是寻找更少的boilerplaty代码.

java scala apache-camel

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

标签 统计

scala ×3

actor ×1

akka ×1

apache-camel ×1

java ×1

regex ×1