小编use*_*260的帖子

使用Shapeless将List [String]转换为case类

我想知道是否有人能对我遇到的问题提供一些见解.我已经用一些代码和解释我的问题做了一个要点:https://gist.github.com/tbrown1979/9993f07c8f4fa2786c83

基本上我正在尝试创建一些允许我将List [String]转换为case类的东西.我已经制作了一个允许我这样做的Reader,但是我遇到了一个问题,其中为一个案例类定义的Reader不能包含一个单独的case类的读者.

看看下面的"非工作示例" - 我遇到一个问题,在阅读时,我不知道要从列表中提取多少项.对于持有测试的Bar,我需要拉出2个元素(因为Test有两个参数).有没有办法让我知道案例类只有其类型的字段数量?有一个更好的方法吗?

以下是如何使用Reader的示例.我也包括了一个非工作的例子.

  ////Working Example////
  case class Foo(a: Int, s: String)
  object Foo {
    implicit val FooReader : Reader[Foo] =
      Reader[Int :: String :: HNil].map(Generic[Foo].from _)
  }

  val read: ValidationNel[String, Foo] = Reader.read[Foo](List("12","text"))
  println(read)//Success(Foo(12, "text"))
  ///////////////////////////

  ////Non-working Example////
  case class Test(a: Int, b: String)
  object Test {
    implicit val TestReader: Reader[Test] =
      Reader[Int :: String :: HNil].map(Generic[Test].from _)
  }

  case class Bar(c: Test)
  object Bar {
    implicit val BarReader: Reader[Bar] =
      Reader[Test :: …
Run Code Online (Sandbox Code Playgroud)

scala scalaz shapeless

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

如何识别scala中的表情符号?

我正在处理来自Twitter Api的推文,很多推文都有表情符号.我正在尝试跟踪最常用的表情符号,但我实际上无法识别它们.

我正在使用:https://github.com/iamcal/emoji-data来识别表情符号.

我不知道如何判断字符串是否包含表情符号.我已经尝试将正则表达式与表情符号数据"统一"字段一起使用,我试过检查字符串是否包含该字段.我真的只是不确定如何检查表情符号..任何帮助将不胜感激.

val pattern = new Regex("(${a.unified})")
(pattern findAllIn text).mkString(",")
Run Code Online (Sandbox Code Playgroud)

这是我尝试使用正则表达式.这找不到任何表情符号.我也尝试在表情符号数据的统一字段之前添加\ u,但这没有帮助.

regex string twitter scala emoji

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

如何创建一个只接受可以用spray-json转换为Json的类型的函数

我有一个函数,它将采用某种类型的参数,将该参数转换为Json然后返回它.这里的问题是我的函数不能在参数上调用.toJson,因为它不知道它.

例:

def convertToJson[A](toConvert: A): JsValue = 
  toConvert.toJson
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,但我想知道我怎么能做出类似这项工作的东西?我怎么能推广这个函数来处理我所有可序列化的案例类?我可以添加一些统一类型,允许此函数接受所有可序列化的案例类.

如果需要更多信息或需要更好的解释,请告诉我.

scala spray spray-json

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

标签 统计

scala ×3

emoji ×1

regex ×1

scalaz ×1

shapeless ×1

spray ×1

spray-json ×1

string ×1

twitter ×1