小编zer*_*ing的帖子

它们只是函数的抽象

我正在阅读什么是箭头的帖子,我该如何使用它们?在第三个答案中,John Wiegley提到了以下内容:

它们只是函数的抽象.

这是什么意思?

haskell

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

为什么找不到隐式?

我在文件中有以下定义Show.scala

package com.example

trait Show[A] {
  def show(a: A): String
}

object Show {
  def apply[A](implicit sh: Show[A]): Show[A] = sh

  //def show[A](a:A)(implicit  sh: Show[A]) = sh.show(a)
  def show[A: Show](a: A) = Show[A].show(a)

  implicit class ShowOps[A: Show](a: A) {
    def show = Show[A].show(a)
  }

  implicit val intCanShow: Show[Int] =
    new Show[Int] {
      override def show(a: Int): String = s"int $a"
    }

}
Run Code Online (Sandbox Code Playgroud)

并在Main.scala

package com.example

object Main extends App {

  println(Show.show(344))
  println(30.show)
}  
Run Code Online (Sandbox Code Playgroud)

编译器抱怨:

[error] /home/developer/scala/show/src/main/scala/com/example/Main.scala:6:14: …
Run Code Online (Sandbox Code Playgroud)

scala

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

复合流(来自 Sink 和 Source)的目的是什么?

我正在尝试从网站上了解复合流(来自接收器和源),它们表示如下:

在此输入图像描述

有人可以提供一个使用复合流的例子吗?
我应该什么时候使用它?

akka akka-stream

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

为什么会立即终止?

我有以下代码,并且想了解为什么在执行时立即停止:

    import akka.actor.ActorSystem
    import akka.http.scaladsl.Http
    import akka.http.scaladsl.model._
    import akka.http.scaladsl.server.Directives._
    import akka.stream.ActorMaterializer
    import scala.io.StdIn

    object WebServer {
      def main(args: Array[String]) {

        implicit val system = ActorSystem("my-system")
        implicit val materializer = ActorMaterializer()
        // needed for the future flatMap/onComplete in the end
        implicit val executionContext = system.dispatcher

        val route =
          path("hello") {
            get {
              complete(HttpEntity(ContentTypes.`text/html(UTF-8)`, "<h1>Say hello to akka-http</h1>"))
            }
          }

        val bindingFuture = Http().bindAndHandle(route, "localhost", 8080)
        bindingFuture
          .flatMap(_.unbind()) // trigger unbinding from the port
          .onComplete(_ => system.terminate()) // and shutdown when done …
Run Code Online (Sandbox Code Playgroud)

scala akka akka-stream akka-http

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

版本不会自动增加

我正在使用https://github.com/sbt/sbt-git来获得自动版本控制的好处,如“ 使用Git进行版本控制 ”部分中所述。

我的build.sbt文件如下所示:

version := "0.1.0"

scalaVersion := "2.12.8"

scalacOptions ++= Seq(
  "-encoding", "UTF-8", // source files are in UTF-8
  "-deprecation", // warn about use of deprecated APIs
  "-unchecked", // warn about unchecked type parameters
  "-feature", // warn about misused language features
  "-language:higherKinds", // allow higher kinded types without `import scala.language.higherKinds`
  "-Xlint", // enable handy linter warnings
  "-Xfatal-warnings", // turn compiler warnings into errors
  "-Ypartial-unification" // allow the compiler to unify type constructors of different …
Run Code Online (Sandbox Code Playgroud)

git scala sbt sbt-git

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

如何等待Kafka容器启动

我正在使用https://www.testcontainers.org/modules/kafka/并希望配置容器,以便在测试开始之前确保 Kafka 已启动并运行。

怎么存档呢?

testcontainers

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

为什么我收到 Partial 数据类型?

我有以下代码片段:

import Control.Applicative
import Data.Text
import Data.Attoparsec.Text

data GreetingYear = GreetingYear Text Int deriving Show


greetingYearParser :: Parser GreetingYear
greetingYearParser = GreetingYear <$> (string "hello" <|> string "bye")  
                                  <*> decimal
Run Code Online (Sandbox Code Playgroud)

当我使用它时,如下所示:

parse greetingYearParser "hello172" 
Run Code Online (Sandbox Code Playgroud)

我有

Partial _
Run Code Online (Sandbox Code Playgroud)

为什么我没有收到:

Done "" (GreetingYear "hello" 172)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

haskell

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

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

如何编辑入口主机?

我在 K8S 集群上部署了 Harbor,如下所示:

helm install dockistry harbor/harbor \
  --set expose.type=ingress
Run Code Online (Sandbox Code Playgroud)

然后入口资源显示:

kubectl get ingress
NAME                       HOSTS                                     ADDRESS          PORTS     AGE
dockistry-harbor-ingress   core.harbor.domain,notary.harbor.domain   xxx.xxx.100.61   80, 443   2m43s
Run Code Online (Sandbox Code Playgroud)

HOSTS是错误的,希望更改它。我该如何编辑dockistry-harbor-ingress

kubernetes kubernetes-ingress nginx-ingress

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

左虚怎么办?

我试图了解https://hackage.haskell.org/package/base-4.14.0.0/docs/Data-Void.html并有以下示例:

let x :: Either Void Int; x = Left Void
Run Code Online (Sandbox Code Playgroud)

代码不会被编译。如何让它运行?

haskell category-theory

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