当我创建如下源时,我试图创建物化值:
case class Info(value: String)
val source: Source[String, Future[Info]] = Source.single("Start")
Run Code Online (Sandbox Code Playgroud)
但这不起作用。如何创造具有物化价值的源泉?
我想在高阶函数中进行模式匹配,如下所示:
.flatMapConcat { (raw, msg) =>
}
Run Code Online (Sandbox Code Playgroud)
但看来,这行不通。我究竟做错了什么?Scala是否在高阶函数中支持元组的模式匹配?
有没有办法将转换Map为java.util.Properties?
例如,以下Map我想转换为java.util.Properties:
Map("x" -> 24, "y" -> 25, "z" -> 26)
Run Code Online (Sandbox Code Playgroud) 我正在阅读Bartosz Milewski的程序员的类别理论,但我并没有得到偏序的想法。
我没有得到以下句子的上下文:
您还可以具有更强的关系,该关系满足附加条件,如果a <= b并且b <= a,则a必须与b相同。这就是所谓的偏序。
为什么a必须相同b?例如a = 4和b = 5,所以根本不一样。如果他会提到
....如果a = b和b = a ....
那是的,我同意。
第二部分,我也不明白:
最后,您可以施加以下条件:任何两个对象都以一种方式或另一种方式彼此关联;这样就可以得到线性订单或总订单。
他什么意思?
我有一个演员,创建如下:
Behaviors.setup { context =>
val greeter = context.spawn(HelloWorld.greeter, "greeter")
Behaviors.receiveMessage { message =>
val replyTo = context.spawn(HelloWorldBot.bot(greetingCounter = 0, max = 3), message.name)
greeter ! HelloWorld.Greet(message.name, replyTo)
Behaviors.same
}
}
Run Code Online (Sandbox Code Playgroud)
我想在文档中处理信号消息(例如 PostStop)Behaviors.receiveMessage说:
接收的简化版本,只有一个参数 - 要处理的消息。当上下文已经可以通过其他方式访问时很有用,比如被包装在一个设置或类似的东西中。构建可以对传入消息和生命周期信号做出反应的参与者行为。从另一个actor(或作为akka.actor.typed.ActorSystem的守护者)生成这个actor后,它将在允许访问系统、生成和观看其他actor等的ActorContext中执行。与使用AbstractBehavior相比,这个工厂是一种更实用的定义行为的风格。处理下一条消息会产生可能与此不同的新行为。通过返回保持新的不可变状态的新行为来维护状态。
但是如何在Behaviors.receiveMessage.
这是文档的链接https://doc.akka.io/api/akka/current/akka/actor/typed/scaladsl/Behaviors $.html#receiveMessageT:akka.actor.typed.scaladsl.Behaviors.Receive[ ]
我有以下正则表达式,我想在Scala 2.13中进行模式匹配。
正则表达式:
\/brokers\/ids\/\d{1,}$
Run Code Online (Sandbox Code Playgroud)
以下字符串将被验证:
scala> ("echo dump" #| "nc localhost 32773" #| "grep brokers").!!
res2: String =
" /brokers/ids/1
"
Run Code Online (Sandbox Code Playgroud)
我如何在Scala 2.13中做到这一点?
I have the following code, that I would like to know, why the variable number gets evaluated twice:
import cats.effect.IO
import scala.util.Random
object Main {
private val number: IO[Int] =
IO(Random.between(3, 300))
def main(args: Array[String]): Unit = {
number
.flatMap { e =>
println(e);
number
}.flatMap { e =>
println(e);
IO.unit
}.unsafeRunSync()
}
}
Run Code Online (Sandbox Code Playgroud)
the program prints two different numbers, although the number is an assignment. I know here, I describe a computation not a execution, and at the end …
我有以下类定义:
final case class Creator[F[_]](topic: String, discovery: ServiceDiscovery[F])
(implicit sync: Sync[F]) {
import JsonDeserializer._
private def setting: ConsumerSettings[F, String, JsonDecoder] =
discovery
.kafkaAddr
Run Code Online (Sandbox Code Playgroud)
我想强制F[_]成为的实例Monad,可以这样使用flatMap:
private def setting: ConsumerSettings[F, String, JsonDecoder] =
discovery
.kafkaAddr
.flatMap.......
Run Code Online (Sandbox Code Playgroud)
如何存档?
正如您在图像中看到的,集群将由 3 台 Ubuntu 18.04 虚拟专用服务器组成,一台是主服务器,另外两台服务器是节点。对于 kubernetes 安装,我将选择kubespray。首先,我要关心的是,3个VPS可以相互通信。这是第一个问题,我该怎么做,3 个 VPS 服务器可以相互通信?
第二个问题是,我必须如何以及在哪里安装 kubespray?我猜在主服务器上。
我想在我的 kubernetes 集群上部署一堆 yaml 文件https://github.com/quay/quay/tree/master/deploy/k8s并想知道立即部署这些文件的最佳方法是什么。
scala ×7
akka-stream ×2
kubernetes ×2
akka ×1
akka-typed ×1
haskell ×1
io-monad ×1
java ×1
kubespray ×1
scala-2.13 ×1
scala-cats ×1
server ×1
ubuntu ×1