用于喷雾验证的同一性/零

时间:2015-10-12 12:53:40

标签: scala functional-programming spray

我想fold过喷涂验证。

但我不知道如何为neutral element获取identityDirective

我想做的是

      def validateMap(data: Map[KeyType, Int]): Directive0 =
        data foldLeft (Directive.identity) { case (acc, (key,limit)) => 
        acc & validate(limit <= 10 && limit >= 0 , s"limit for $key has to be in range of 0..10")
    }

是否为喷涂中的指令定义了标识/中性元素? 我怎么能得到它?

1 个答案:

答案 0 :(得分:1)

pass”是身份指令:

  

我怎样才能得到它?

喷雾文档相当不错,但查看源代码通常更有效。您可以使用spray checkout中的以下grep找到它:

$ grep --include='*.scala' -i Directive -R * | egrep -i 'noop|empty|identity'
spray-routing/src/main/scala/spray/routing/directives/BasicDirectives.scala:  def noop: Directive0 = Directive.Empty