小编mfi*_*rry的帖子

如何在Haskell中创建ADT?

在Scala中,我可以描述这样的ADT:

sealed trait Foo
case class A(a: Int) extends Foo
case class B(b: String) extends Foo
case class C(a: A, b: B) extends Foo
Run Code Online (Sandbox Code Playgroud)

如何在Haskell中做同样的事情?

data Foo = A Int | B String | C A B
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为A和B不是类型。我应该使用GHC扩展名吗?

haskell scala algebraic-data-types

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

jetty-maven-plugin和loadTimeWeaver

似乎没有我的弹簧webapp使用jetty-maven插入

我总是得到

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loadTimeWeaver': Initialization of bean failed; nested exception is java.lang.IllegalStateException: ClassLoader [org.eclipse.jetty.webapp.WebAppClassLoader] does NOT provide an 'addTransformer(ClassFileTransformer)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:org.springframework.instrument.jar
Run Code Online (Sandbox Code Playgroud)

虽然我有:

  • 将MAVEN_OPTS设置为javaagent:/Users/blabla/.m2/repository/org/springframework/spring-instrument/3.1.3.RELEASE/spring-instrument-3.1.3.RELEASE.jar
  • 将JAVA_OPTIONS设置为相同的东西
  • 弹簧仪器弹簧方面添加了dep
  • 添加jvmArgs-javaagent:....jetty-maven-plugin配置

spring jetty eclipselink maven load-time-weaving

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

Play Framework和Slick:测试数据库相关的服务

我试图遵循最惯用的方式来进行一些经过全面测试的DAO服务.

我有几个案例类如下:

case class Person (
  id        :Int,
  firstName :String,
  lastName  :String
)

case class Car (
  id      :Int,
  brand   :String,
  model   :String
)
Run Code Online (Sandbox Code Playgroud)

然后我有一个像这样的简单DAO类:

class ADao @Inject()(protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile] {
  import driver.api._

  private val persons = TableQuery[PersonTable]
  private val cars = TableQuery[CarTable]
  private val personCar = TableQuery[PersonCar]

  class PersonTable(tag: Tag) extends Table[Person](tag, "person") {
    def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
    def firstName = column[String]("name")
    def lastName = column[String]("description")
    def * = (id, firstName, lastName) <> (Person.tupled, …
Run Code Online (Sandbox Code Playgroud)

testing scala playframework specs2 slick

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

在 Spark 中处理 (OSM) PBF 文件

OSM 数据以 PBF 格式提供。有专门的库(例如用于解析此数据的https://github.com/plasmap/geow)。

我想将此数据存储在 S3 上并将数据解析为 RDD 作为 EMR 作业的一部分。

实现这一目标的直接方法是什么?我可以将文件提取到主节点并在本地处理吗?如果是这样,我会创建一个空的 RDD 并在从输入文件解析流事件时添加到它吗?

scala amazon-emr apache-spark osm.pbf

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

应该API抛出NullPointerExceptions

我使用商业API并且NullpointException来自API代码.

支持告诉我它是预期的,因为我调用的方法的输入参数之一null是使用methdod需要此参数.

这真的是我的错,因为在将参数传递给API之前我没有检查过参数吗?

放弃NullpointerExceptions你的API 不是不好的做法吗?如果不是我必须检查所有类型,RuntimeExceptions如果我使用该API的方法,如果我想确保我的软件不会崩溃.

如果是不好的做法,是否有任何文件或规格参考这个?

java api exception-handling

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

如何将矢量与其自身的反转版本进行比较?

为什么不编译?

fn isPalindrome<T>(v: Vec<T>) -> bool {
  return v.reverse() == v;
}
Run Code Online (Sandbox Code Playgroud)

我明白了

error[E0308]: mismatched types
 --> src/main.rs:2:25
  |
2 |   return v.reverse() == v;
  |                         ^ expected (), found struct `std::vec::Vec`
  |
  = note: expected type `()`
             found type `std::vec::Vec<T>`
Run Code Online (Sandbox Code Playgroud)

equality rust

4
推荐指数
2
解决办法
2526
查看次数

Spark Scala 流式 CSV

我是 Spark/Scala 的新手。我知道如何加载 CSV 文件:

    sqlContext.read.format("csv")
Run Code Online (Sandbox Code Playgroud)

以及如何读取文本流和文件流:

    scc.textFileStream("""file:///c:\path\filename""");
    scc.fileStream[LongWritable, Text, TextInputFormat](...)
Run Code Online (Sandbox Code Playgroud)

但是如何读取CSV格式的文本?谢谢,列维

csv scala apache-spark spark-streaming

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

将 JValue 转换为 JSON 字符串

我想将 jvalue 转换为 json 字符串。这是我的代码的样子:

import org.json4s._
import org.json4s.JsonDSL._
import org.json4s.native.JsonMethods._
import org.json4s.DefaultFormats._

 object Json4sTest {

  def main(arg: Array[String]) {
    var json = parse("""{"name":"luca", "id": "1q2w3e4r5t", "age": 26, "inner": { "age": 27 }, "url":"http://    www.nosqlnocry.wordpress.com"}""")
 //   println(json)

    val a: List[Map[String, JValue]] = List(Map("inner/age" -> 35, "age" -> 27), Map("name" -> "foo"))
    val r = jsonFieldUpdater(json, a)
    println(r)

        }


      def jsonFieldUpdater(json: JValue, list: List[Map[String, JValue]]): JValue =
    //
      }
    }
Run Code Online (Sandbox Code Playgroud)

得到我的结果:

JObject(List((name,JString(foo)), (id,JString(1q2w3e4r5t)), (age,JInt(27)), (inner,JObject(List((age,JInt(35))))), (url,JString(http://    www.nosqlnocry.wordpress.com))))
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个 Json 字符串输出:

{"name":"luca", …
Run Code Online (Sandbox Code Playgroud)

scala json4s

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

Scala 如何展平嵌套的 Map[String, Any]

我嵌套了如下地图:

val x: Map[String, Any] = 
  Map("a" -> "apple", "b" -> "ball", "c" -> Map("x" -> "cat", "y" -> 12))
Run Code Online (Sandbox Code Playgroud)

我想把它转换成:

Map("a" -> "apple", "b" -> "ball", "x" -> "cat", "y" -> 12)
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试将 flatten 调用到 x ,则会出现异常。

x.flatten
Error:(40, 14) No implicit view available from (String, Any) => scala.collection.GenTraversableOnce[B].
println(mx.flatten)
Error:(40, 14) not enough arguments for method flatten: (implicit asTraversable: ((String, Any)) => scala.collection.GenTraversableOnce[B])scala.collection.immutable.Iterable[B].
Unspecified value parameter asTraversable.
println(x.flatten)
Run Code Online (Sandbox Code Playgroud)

那么,如何提供隐式视图以展平上述地图?

scala

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