小编ttt*_*ttt的帖子

带折叠操作的Scala选项

我试图使用foldmap操作,而不是matchOption.

我有一个选项val ao: Option[String] = xxxx和一个功能f: (String => Future[Option[T]])

如果我做模式匹配是:

ao match {
  case Some(t) => f(t)
  case None => Future.successful(None)
}
Run Code Online (Sandbox Code Playgroud)

如果我做地图是:

ao map f getOrElse Future.successful(None)
Run Code Online (Sandbox Code Playgroud)

但是当我折叠时,我得到了一些以下编译器错误:

ao.fold(Future.successful(None))(t => f(t))
Run Code Online (Sandbox Code Playgroud)

关于抱怨 expression Future[Option[T]] doesn't confirm to Future[None.type]

那么为什么地图在这里工作但不折叠,我在这里错过了什么?

functional-programming scala

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

Slick 3.0批量插入返回对象的顺序

我想使用Slick 3.0 ++ =函数并使用return来进行批量插入,以返回插入的对象。

我想知道返回对象(Future [Seq [Something]])是否与我的参数Seq [Something](无id)具有相同的顺序。

进一步来说,

val personList: Seq[Person] = Seq(Person("name1"), Person("name2"), Person("name3"))
persons returning persons ++= personList
Run Code Online (Sandbox Code Playgroud)

结果肯定是Future(Seq(Person(1,“ name1”),Person(2,“ name2”),Person(3,“ name3”))))吗?或者可以按其他结果顺序排列?

谢谢。

scala jdbc slick

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

没有":"的时区的java日期模式

我将使用第三方API.他们接受日期模式,如:

2012-02-15T17:34:37.937-0600
Run Code Online (Sandbox Code Playgroud)

我知道模式应该匹配

yyyy-MM-ddTHH:mm:ss.s
Run Code Online (Sandbox Code Playgroud)

但我不知道如何代表最后一个"-0600"时区?我认为标准时区是"-06:00",任何人都知道如何摆脱日期模式中的":"?

谢谢.

java datetime jodatime date-parsing

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

Javascript通过对象的属性更新数组对象

我有一组 person 对象,我想更新一个对象。

persons: [{
    id: '1',
    name: 'John',
    age: 12
    }, {
    id: '2',
    name: 'Tom',
    age: 13
    }, {
    id: '3',
    name: 'David',
    age: 14
}]
Run Code Online (Sandbox Code Playgroud)

我的功能是:

function updatePersonsWith(id, propName, value) {
   this.persons.???
}
Run Code Online (Sandbox Code Playgroud)

传递的参数是id我想更新的人,propName是的属性person的对象,可以是idname或者agevalue是我想,以取代的价值。

我想通过它的 id 找到一个对象并只更新数组的这个对象。

updatePersonsWith(2, age, 16)
Run Code Online (Sandbox Code Playgroud)

结果将是:

persons: [{
    id: '1',
    name: 'John',
    age: 12
    }, {
    id: '2',
    name: 'Tom',
    age: 16
    }, {
    id: '3',
    name: 'David', …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 lodash

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

Spring Kafka lib 与原生 Kafka Java API 的区别

对于 Java/Kotlin Spring 启动应用程序,如果我想向 Kafka 发送消息或使用来自 Kafka 的消息。你会推荐使用 Spring Kafka 库还是只使用 Kafka Java API。

不太确定 Spring 是否提供更多好处或只是一个包装器?对于 Spring,它们提供了许多注释,当出现运行时错误时,这些注释看起来更神奇。

想听听一些意见。

apache-kafka spring-kafka

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

Scala List方法`::`vs` +:`

看不到Scala List ::+:Scala List 的真正区别.

我使用REPL进行测试,但无法从结果中看到差异.

任何人都可以给我如何正确使用它?

scala scala-collections

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