小编Jes*_*ieh的帖子

如何安装 esl-erlang、erlang-crypto 和 erlang-tools?

我在 Ubuntu 16.04 上。我像这样安装了 Elixir

wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install esl-erlang
sudo apt-get install elixir
Run Code Online (Sandbox Code Playgroud)

当我进行测试时,我得到了

function :crypto.mpint/1 is undefined or private
Run Code Online (Sandbox Code Playgroud)

所以我像这样安装了erlang-crypto

sudo apt-get install erlang-crypto
Run Code Online (Sandbox Code Playgroud)

然后我进行了测试并得到了

no case clause matching: {:error, {:undef, [{:cover, :is_compiled, [:hackney], []}
Run Code Online (Sandbox Code Playgroud)

所以我像这样安装了erlang-tools

sudo apt-get install erlang-tools
Run Code Online (Sandbox Code Playgroud)

但是现在我再次收到此错误!

function :crypto.mpint/1 is undefined or private
Run Code Online (Sandbox Code Playgroud)

我的猜测是这些命令让我在 esl-erlang 和常规 erlang 之间翻转,但我不确定。

可疑的行是当我安装 erlang-crypto 时,它说它将删除 esl-erlang 并安装 erlang-base!

The following additional packages will be installed:
  erlang-asn1 erlang-base erlang-inets erlang-mnesia …
Run Code Online (Sandbox Code Playgroud)

erlang ubuntu elixir

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

在 Elixir 中,依赖应用程序受到监督吗?

到目前为止,我知道当我启动 Elixir 应用程序时,一堆依赖的应用程序也会启动。

这些依赖的应用程序是否以某种方式在我的应用程序监督树中启动?

如果依赖的应用程序崩溃会发生什么?是不是重启了?

erlang elixir erlang-otp erlang-supervisor

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

如何压平IO(IO())?

我只是在学习Haskell和monad变换器,我发现自己有一个IO(IO()),我想把它变成IO().我确信我做错了什么,但无法准确指出我迷路的地方.

这是我正在尝试做的简化示例.这是一种令人费解的实施方式echo,但它说明了这个问题.

userInput :: Monad m => ReaderT (IO String) m (IO String)
userInput = ask

echo :: Monad m => ReaderT (IO String) m (IO ())
echo = userInput >>= \input ->  -- unwrap ReaderT to get an IO String
         input >>= (\s ->       -- unwrap IO String to get a String
           putStrLn s)          -- print out the String
         & return               -- rewrap into a ReaderT

main :: IO (IO ())              -- How to turn IO (IO …
Run Code Online (Sandbox Code Playgroud)

monads haskell unit-testing monad-transformers

4
推荐指数
2
解决办法
213
查看次数

Python Click:如何实现类似于“--help”的帮助命令?

我有一个 python click CLI。当我传递--help给任何命令时,它会打印一条我喜欢的帮助消息。我发现现在很多用户都在打字

mycli help foo
Run Code Online (Sandbox Code Playgroud)

代替

mycli foo --help
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以使前者像后者一样以通用方式对所有命令起作用?

该命令的实现大致如下

@click.group()
@click.pass_context
def cli(ctx):
    ctx.obj = {}

@cli.command()
@click.argument('my_arg')
@click.pass_context
@report_errors
def foo(ctx, my_arg):
    # some stuff here
Run Code Online (Sandbox Code Playgroud)

python python-click

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

在python中转换为安全的unicode

我正在处理未知数据并尝试使用Python/Django插入MySQL数据库.我收到一些我不太了解的错误,正在寻求帮助.这是错误.

Incorrect string value: '\xEF\xBF\xBDs m...'
Run Code Online (Sandbox Code Playgroud)

我的猜测是字符串没有正确转换为unicode?这是我的unicode转换代码.

s = unicode(content, "utf-8", errors="replace")
Run Code Online (Sandbox Code Playgroud)

如果没有上面的unicode转换,我得到的错误是

'utf8' codec can't decode byte 0x92 in position 31: unexpected code byte. You passed in 'Fabulous home on one of Decatur\x92s most
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

python django unicode

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

如何读取HTTP分块响应并在Elixir中向客户端发送分块响应?

我正在使用Elixir/Phoenix,我有一个端点,它返回一个分块响应,比如说一个永无止境的日志行流.但是,日志行来自另一个服务A,它也返回一个分块响应.我希望我的端点从服务A读取分块响应,并以块的形式将它们传递给客户端.从本质上讲,它只是服务A的代理,但我不能让客户端直接连接到服务A,因为我需要执行一些身份验证.

proxy logging elixir chunked-encoding phoenix-framework

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

如何断开Postgrex连接?

我试图弄清楚如何连接到postgres数据库,运行查询,然后断开连接.

看看Postgrex,我建立了一个连接

{:ok, pid} = Postgrex.start_link(hostname: "localhost", username: "postgres", password: "postgres", database: "postgres")
Run Code Online (Sandbox Code Playgroud)

然后我使用执行我的查询

Postgrex.query!(pid, "SELECT user_id, text FROM comments", [])
Run Code Online (Sandbox Code Playgroud)

但是,我怎么断开?

我想断开连接,因为我循环遍历N个数据库并对所有数据库运行相同的查询.

我尝试退出过程,例如Process.exit(pid, :bye),但它也因为它的开始而杀死了产卵过程start_link/3.我找不到一个start/3功能Postgrex.

postgresql elixir ecto phoenix-framework postgrex

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

榆木:如何将HTML FooMsg转换为HTML Msg

我是榆树新手。我有一个包含两个页面的网站:主页和注册。

主页拥有其自己的视图,而注册具有其自身的视图,但是它们都返回Html Msg。我想更改它,以便Home返回Html HomeMsg和Signup返回Html SignupMsg

当然,编写这些视图函数很容易,但是我认为我的顶级视图函数需要将结果转换为Html Msg

这是Msg类型。

type Msg 
  = Home HomeMsg
  | Signup SignupMsg
  | OnLocationChange Location
Run Code Online (Sandbox Code Playgroud)

我想我需要某种map功能来做到这一点

view : Model -> Html Msg 
view model =
    case model.route of
        Model.HomeRoute ->
            map Home (homeView model)

        Model.SignupRoute ->
            map Signup (signupView model)

        Model.NotFoundRoute ->
            notFoundView
Run Code Online (Sandbox Code Playgroud)

elm

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

无法将类型a与a1匹配,但类型看起来相同

我正在学习Haskell,编译器给了我一个我不太明白的错误。它说期望的和实际的类型不匹配,但是对我来说它们看起来是相同的。谁能帮助我了解此错误试图说明的内容?

/app/app/Main.hs:75:11: error:
    • Couldn't match type ‘a’ with ‘a1’
      ‘a’ is a rigid type variable bound by
        the type signature for:
          app :: forall a.
                 (ReaderT (W.Options -> String -> IO (Response BL.ByteString)) IO a
                  -> IO a)
                 -> IO Middleware
        at /app/app/Main.hs:68:1-99
      ‘a1’ is a rigid type variable bound by
        a type expected by the context:
          forall a1.
          ReaderT (W.Options -> String -> IO (Response BL.ByteString)) IO a1
          -> IO a1
        at /app/app/Main.hs:75:3-12
      Expected type: ReaderT
                       (W.Options -> …
Run Code Online (Sandbox Code Playgroud)

haskell

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