小编zer*_*ing的帖子

为什么goroutine泄漏

我在第30页阅读了Twelve Go Best Practices和遭遇以及有趣的例子.

func sendMsg(msg, addr string) error {
    conn, err := net.Dial("tcp", addr)
    if err != nil {
        return err
    }
    defer conn.Close()
    _, err = fmt.Fprint(conn, msg)
    return err
} 

func broadcastMsg(msg string, addrs []string) error {
    errc := make(chan error)
    for _, addr := range addrs {
        go func(addr string) {
            errc <- sendMsg(msg, addr)
            fmt.Println("done")
        }(addr)
    }

    for _ = range addrs {
        if err := <-errc; err != nil {
            return err …
Run Code Online (Sandbox Code Playgroud)

go goroutine

5
推荐指数
2
解决办法
3609
查看次数

为什么Elixir捕获操作符需要将函数绑定到值

我有以下elixir代码片段:

defmodule Rectangle do

    def area(a, b) do
        a * b
    end

    def area(a) do
        a * a
    end

end
Run Code Online (Sandbox Code Playgroud)

然后我将文件加载到iex会话中,如下所示:

iex(1)> import_file "rectangle.exs"
{:module, Rectangle,
 <<70, 79, 82, 49, 0, 0, 5, 84, 66, 69, 65, 77, 69, 120, 68, 99, 0, 0, 0, 204, 131, 104, 2, 100, 0, 14, 101, 108, 105, 120, 105, 114, 95, 100, 111, 99, 115, 95, 118, 49, 108, 0, 0, 0, 4, 104, 2, ...>>,
 {:area, 1}}
Run Code Online (Sandbox Code Playgroud)

它像我预期的那样工作得很好

iex(2)> Rectangle.area(9)
81 …
Run Code Online (Sandbox Code Playgroud)

elixir

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

Haskell如何将整数文字转换为不同的类型?

我有以下匿名功能:

*Exercises> g = \(Sum n) -> Sum (n - 1)
Run Code Online (Sandbox Code Playgroud)

我用它像:

*Exercises> g (Sum 56)
Sum {getSum = 55}
*Exercises> g 56
Sum {getSum = 55}
Run Code Online (Sandbox Code Playgroud)

第二个例子,编译器如何转换56Sum 56

在前奏中,我看到这Sum是一个实例Num,但不清楚转换.

haskell

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

第二个参数如何成为函数列表?

我正在玩一下zipWith并遇到以下情况:

Prelude Control.Applicative> :t zipWith id
zipWith id :: [b -> c] -> [b] -> [c]
Run Code Online (Sandbox Code Playgroud)

为什么编译器期望下一个参数是一个函数列表?

我试图分析,但无法断定,为什么下一个参数必须是函数列表.

当我id转到时,签名是如何申请的zipWith

haskell zipwith

5
推荐指数
2
解决办法
156
查看次数

“docker rmi”需要至少 1 个参数

我有一个未标记容器的列表:

dockerizer@docker1:~/zookeeper$ docker images -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              46371a3fcd90        12 hours ago        783MB
zookeeper           latest              e85300ce33a1        12 hours ago        783MB
<none>              <none>              5dc40a99a229        12 hours ago        783MB
<none>              <none>              cf203e8e381d        12 hours ago        783MB
<none>              <none>              662536a7dd7c        12 hours ago        740MB
<none>              <none>              fb43b0c06cb3        12 hours ago        783MB
servery             latest              0226f44159c2        2 days ago          51.8MB
<none>              <none>              e25dad0578e1        2 days ago          51.8MB
consul              latest              d686c08d0dc8        3 days ago          51.8MB
ubuntu              latest              747cb2d60bbe        2 weeks ago …
Run Code Online (Sandbox Code Playgroud)

docker

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

unresolved dependency: com.artima.supersafe#supersafe_2.12.4;1.1.3: not found

I am trying to use scala test and write:

resolvers += "Artima Maven Repository" at "http://repo.artima.com/releases"
addSbtPlugin("com.artima.supersafe" % "sbtplugin" % "1.1.3")
Run Code Online (Sandbox Code Playgroud)

into plugins.sbt and build.sbt looks as following:

libraryDependencies ++= Seq(
  "org.scalactic" %% "scalactic" % ScalaTest,
  "org.scalatest" %% "scalatest" % ScalaTest % "test"
)
Run Code Online (Sandbox Code Playgroud)

SBT complains:

Error:Error while importing SBT project:<br/>...<br/><pre>[error]   at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:118)
[error]     at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2353)
[error]     at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error]     at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:42)
[error]     at sbt.std.Transform$$anon$4.work(System.scala:64)
[error]     at sbt.Execute.$anonfun$submit$2(Execute.scala:257)
[error]     at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error]     at sbt.Execute.work(Execute.scala:266)
[error]     at sbt.Execute.$anonfun$submit$1(Execute.scala:257)
[error]     at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:167) …
Run Code Online (Sandbox Code Playgroud)

scala scalatest

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

左偏和右偏?

我读了一篇关于部分统一的文章,作者提到了左偏和右偏的数据类型.
有人可以向我解释一下,什么是左偏和右偏的数据类型?
它与Function1有什么关系?
Either左侧偏置或右侧偏置?

scala

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

haskell 中的关联数据类型是什么?

在路由部分,文章说:

我们可以看到 RenderRoute 类定义了一个关联的数据类型 ,为我们的应用程序提供路由。

什么是关联的数据类型是什么意思?这意味着类型家庭?

haskell types type-families

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

宇宙是什么意思?

有关函数式编程的文章,其中很多都提到了Universe。我正在阅读Bartosz Milewski的著作《程序员的类别理论》,他也多次提到宇宙。问题是,在函数式编程和范畴论的语境中,宇宙意味着什么?

haskell functional-programming scala terminology category-theory

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

Haskell的自然转变是什么?

我想知道,Haskell中的自然转变是什么。自然转换用以下签名描述:

F[a] ~> G[a]
Run Code Online (Sandbox Code Playgroud)

例如,我可以转换:

Maybe a ~> List a
Run Code Online (Sandbox Code Playgroud)

对?

那怎么IO做是不可能的呢?
自然转型的目的是什么?

haskell

5
推荐指数
2
解决办法
107
查看次数