小编Wil*_*lll的帖子

使用Elixir的:httpc erlang模块

我对elixir很新,并且没有erlang经验(或功能性的东西),但很快就会变得明显.. - >

iex(2)> :inets.start()
:ok
iex(3)> :httpc.request(["http://www.erlang.org"])
{:error, :no_scheme}
Run Code Online (Sandbox Code Playgroud)

我不知道是什么:no_scheme意味着什么.我用谷歌搜索了no_scheme和东西,我确信它很明显,但我没有发现任何真的.我在erlang文档中找到的唯一模糊相关的东西是 - >

iex(4)> :http_uri.scheme_defaults
[http: 80, https: 443, ftp: 21, ssh: 22, sftp: 22, tftp: 69]
Run Code Online (Sandbox Code Playgroud)

或者我可能不符合RFC2616或其他......我没有想法(现在).

Elixir和Erlang超级超级棒,但是任何帮助我的旅程都会受到赞赏.

谢谢你的帮助!

我在erl中尝试过.

1> inets:start().
ok
2> httpc:request("http://www.erlang.org").
{ok,{{"HTTP/1.1",200,"OK"},
     [{"date","Wed, 20 Nov 2013 23:15:45 GMT"},
      {"server","inets/5.7.1"},
      {"content-length","10385"},
      {"content-type","text/html; charset=utf-8"},
      {"set-cookie",
       "eptic_cookie=erlangorg@hades-3680318586833850369; path=/"}],
        "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE htm
    etc...
Run Code Online (Sandbox Code Playgroud)

编辑:

好吧,我最大的问题是我是双引用"http://www.erlang.org"字符串而我猜elixir - > erlang将它们引入像parrotys一样的单引号'http://www.erlang.org'.

no_scheme仍然很神秘.我能找到的只是与重定向和RFC实现相关的东西.我刚刚决定将它视为一般错误,与url有关..

编辑2:

这里有一篇博客文章,有人解释得很好.链接

像数据库这样的Erlang原子成为:数据库和Erlang版本中的PgConn之类的局部变量在Elixir中成为pg_conn.

当它们是Erlang函数的参数时,我们需要单引号字符串文字.如果您有一个存储在Elixir变量中的UTF-8字符串,您可以使用binary_to_list/1函数将其转换为char列表.

编辑3:

具有讽刺意味的是,几小时前发布的名为"HTTP客户端"的最新Elixir Sip涵盖了我的整个问题.看看有人遇到这个是未来!

elixir

9
推荐指数
3
解决办法
5504
查看次数

Rails路由助手莫名其妙地将"postinstall"添加到请求中

* Listening on tcp://0.0.0.0:3000

Started GET "postinstall/" for 127.0.0.1 at 2013-10-27 07:26:15 +0000
ActiveRecord::SchemaMigration Load (1.8ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Run Code Online (Sandbox Code Playgroud)

基本上就是这样,我的所有按钮都链接到帮手,如:

new_user_registration GET      /users/sign_up(.:format)               registrations#new
edit_user_registration GET      /users/edit(.:format)                  registrations#edit
Run Code Online (Sandbox Code Playgroud)

只有所有链接都是这样的:

http://localhost:3000/postinstall/users/sign_in
Run Code Online (Sandbox Code Playgroud)

我已经完成了我的日志,并且有一次请求刚刚开始被这种"postinstall"业务中毒.

我已经为'postinstall'进行了抨击,因为这个词肯定不会来自任何地方.我决定睡觉,因为我认为这肯定是一个愚蠢的错误,但现在我需要帮助,不像我之前的99.9%的问题 - 似乎这个问题没有被回答.

在Google上搜索甚至查询"postinstall"会产生可怕的结果.

认为我的问题在于路径助手,在'postinstall'被添加到请求/ URL之前的任何地方 - 路径被引用如下:

<a href="/users/sign_in" class="btn btn-success">Test</a>

<%= link_to "Sign In", new_user_session_path, :class => "btn btn-success" %>
Run Code Online (Sandbox Code Playgroud)

第一个链接可以正常工作路由,但是提交登录表单的按钮正在尝试POST到/ postinstall/users/sign_in等...第二个按钮将是/ postinstall/users等的链接.

我完全不知道这是怎么开始的,我已经超过我的git日志,甚至回到3或4天(这个问题从昨晚开始),错误仍然存​​在.

它是否似乎特定于我的Mac,部署到开发站点(Ubuntu)没有问题.我已经重新启动了我的mac等任何帮助都非常明显...

ruby-on-rails

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

F#中列表的实现如何工作?

我很好奇列表模块/类型在F#中是如何工作的,特别是它是否优化了这个?

let xs = ["1"; "2"; "3"]

let ys = "0"::xs

let zs = ["hello"; "world"]@xs
Run Code Online (Sandbox Code Playgroud)

我查看了一些来源https://github.com/fsharp/fsharp/blob/68e37d03dfc15f8105aeb0ac70b846f82b364901/src/fsharp/FSharp.Core/prim-types.fs#L3493似乎是相关领域.

我想知道是否xs在制作时被复制ys.

如果你只是元素,我会认为很容易指向现有的列表.

如果你是连接我想象它可能是不可能的,因为它需要改变列表的最后一个元素指向下一个元素?

如果有人可以从FSharp.Core中注释/粘贴代码片段,这将是理想的.

f#

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

标签 统计

elixir ×1

f# ×1

ruby-on-rails ×1