Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/networking/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Elixir_IT技术博客_编程技术问答 - 「Fatal编程技术网」

Elixir 长生不老药-按名称获取主机?

你是如何用长生不老药获得hostbyname的 似乎没有一个受支持的API,这两个解决方案似乎围绕 Erlang's Inet 使用系统(hostname)将Fork转换为shell Elixir的一般原理是,如果标准erlang库中存在解决方案,则没有理由简单地使用Elixir包装器复制该解决方案,除非您打算以某种方式提供附加功能 或者换句话说,erlang库是本地的 iex(2)> :inet.gethostbyname('www.google.com') {:ok, {:hosten

Elixir中的Unix域套接字

我想从Unix域套接字(SOCK_流)读取消息,但我很难找到一个在Elixir中这样做的工作示例。我一直试图使它与来自Erlang的procket库一起工作,但除了麻烦之外,我什么都没有 谁能给我看一个在Elixir中从unix域套接字读取数据的工作示例吗?是一个很好的示例,使用 open函数从连接地址(IPv4、IPv6或unix域套接字)获取文件描述符的元组{stdin、stdout} 编辑:此处用于初始化端口,但使用http://elixir-lang.org/docs/stable/el

Elixir 计算EXTO存储库中的条目数

查看数据库中条目数的最快方法是什么?我想在我的帖子/索引视图中查看帖子的数量 假设我在数据库中保存了一个帖子模型和一堆帖子。在Rails中,我可以在视图文件中执行以下操作: <h1><%= @posts.length %> Posts</h1> 帖子 或 帖子 或 帖子 Phoenix Framework/Elixir等效物是什么?如果您已经使用Repo.all将帖子加载到控制器的内存中,您可以使用length/1来计算列表中的项目数。这相当于Ruby

在elixir中迭代元组的更简洁的方法

我发现自己经常写这样的模式,我觉得这并不理想: Enum.filter(my_list, fn e -> case e do {:ok, x} -> true {:error, y} -> false end end) |> Enum.map(fn e -> {:ok, something} = e; something end) 其中,我的_列表是由返回{:ok,x}或{:error,y}的某个函数创建的 当我想忽略错误时

Elixir Plug.Exception是如何工作的?

我很难找到一个简单的例子。我没有使用凤凰FWIW,只是插上插头 defmodule Unauthorized do defexception message: "not authorized", plug_status: 401 end defmodule Foo do use Plug.Router plug :match plug :dispatch get "/" do send_resp(conn, 200, "heyyyo") end get

Elixir 定义名为“的函数时出现语法错误”;在;

如何在中定义名为的函数?显而易见的方法会产生语法错误: iex(1)> defmodule MyModule do ...(1)> def in do ...(1)> end ...(1)> end ** (SyntaxError) iex:2: syntax error before: do 这是不可能的,因为in是一个保留字吗?in不能直接与def一起工作,因为它是一个运算符,但是Elixir中的函数可以有任何可以转换为原子的名称,而:in肯定是一个有效的原

Elixir 实现等分求和和与完全数算法

根据尼科马库斯(60-120 CE)自然数分类方案,确定一个数是完美的、丰富的还是不足的 希腊数学家尼科马库斯(Nicomachus)设计了一种自然数分类方案,根据自然数的等分和,将每一个自然数唯一地划分为完全数、丰富数或不足数。等分总和定义为一个数的因子之和,不包括该数本身。例如,15的等分总和为(1+3+5)=9 完美:等分总和=数字 6是一个完美的数字,因为(1+2+3)=6 28是一个完美的数字,因为(1+2+4+7+14)=28 充足:等分总和>数量 12是一个丰富的数字,因为(1+2

Elixir 监护人库无法生成令牌

我正在为注册/登录创建一个API。我正在使用guardian,~>1.0为我的注册生成jwt令牌。现在,当我在我的文件夹结构中创建一个监护人模块时,我将在代码中向您显示。我还在我的cofig.ex中传递了密钥 如果您需要任何其他信息,请告诉我 现在,当我尝试在我的邮递员端点中传递这个时,它给了我一个错误 { "user": { "email": "siddhant24333@gmail.com", "password": "Radiohead",

Elixir 在'not equal'错误上进行异位连接

我有两个这样的模式: schema "projects" do field :title, :string field :is_shared, :boolean timestamps() end schema "cards" do field :title, :string field :type, :string belongs_to(:project, Project) end from(c0 in Card, left_join: p1 in Project,

在Elixir中运行shell命令

我想通过我的长生不老药代码执行一个程序。对给定字符串调用shell命令的方法是什么?是否有非特定于平台的内容?您可以在中查看。例如,cmd(Command)->string()应该是您要查找的内容。我无法直接链接到相关文档,但它位于系统模块下 cmd(command) (function) # Specs: cmd(char_list) :: char_list cmd(binary) :: binary Execute a system command. Executes command

Elixir Can';t使用phoenix创建长生不老药应用程序

我曾尝试使用phoenix framework创建一个web应用程序Elixir,我正在遵循github()的官方教程 当我执行创建应用程序的命令时,收到一条错误消息。我不明白我在这里错过了什么。你能帮我吗 e.g. mix phoenix.new photo_blog /home/johndoe/ mr.black :) > mix phoenix.new photo_blog /home/johndoe/ * creating /home/johndoe/photo_blog *

何时在Elixir中使用仅编译依赖项

在我的mix.exs中只在deps中指定依赖项,而不在应用程序中指定运行时依赖项,何时才合适 我原以为applications是在启动我自己的应用程序之前需要启动的实际应用程序,但我遇到了一个问题,exrm没有放入Jazz库(我认为它只包含纯函数)直到我在应用程序中加入:jazz一个OTP应用程序更像是一个组件—一组可以(但不需要)运行某些进程的模块和函数。如果OTP应用程序没有启动自己的监控树,则称为库应用程序。无论哪种方式,如果在运行时使用某些libs函数,则需要将其指定为运行时dep 相反

生成新进程是否使用elixir中的所有CPU核

假设我在一台4核CPU机器上 如果我在elixir VM中运行以下操作: 1..4 |> Enum.map fn(x) -> spawn(computationally_heavy_process) end 这是否使用了我机器的全部4个内核。每个计算繁重的进程中都有一个?elixir虚拟机就是Erlang虚拟机,它调度生成的进程如何分配给机器CPU。你没有直接的控制权。但是,在运行自己的代码之前,通过发出:observer.start(),您可以使用图表的可视化来查看4个调度程序

Elixir 凤凰变身模型

在凤凰城改变外胚层模型的正确方法是什么 到目前为止,我已经创建了一个Post模型,其中包含一个title和一个content字符串字段。我将资源添加到路由器以创建和查看帖子。 现在我想在我的模型中添加一个author字段。 到目前为止,我所做的是: 我创建了一个迁移 mix ecto.gen.migration add_author_to_post 在我插入的迁移文件中 alter table(:posts) do add :author, :string end 并使用mix-exto

在Elixir中,为什么在创建地图时不能使用不同的符号?

定义映射有两种不同的语法: map = %{:a => 1, :b => 2} #=> %{a: 1, b: 2} map = %{a: 1, b: 2} #=> %{a: 1, b: '2} 在定义地图时,按如下方式使用这两种方法: map = %{:a => 1, b: 2} #=> %{a: 1, b: 2} 但按其他顺序使用会引发错误: map = %{a: 1, :b => 2} #=> ** (SyntaxError) iex

使用Elixir和Hackney以流的形式读取数据

我正在使用,并且我正在尝试使用来自的指令将请求主体作为流来读取。 因为那里的代码是用Erlang编写的,所以我必须对其进行调整,使其在Elixir中工作: def read_body(max_length, client, acc) when max_length > byte_size(acc) do case :hackney.stream_body(client) do {:ok, data} -> read_body(max_length, clien

如何在Elixir中调用Erlang函数

Elixir中调用Erlang函数的格式是什么 具体来说,如何在iex中调用函数,以及在何处可以找到Erlang中可用的模块和函数列表。首先在中找到要调用的模块和函数 例如,要调用random uniform,您可以查看random模块并找到uniform\0函数 要在Elixir中调用它,请使用格式,:module.function(),例如 iex(1)> :random.uniform() 0.7230402056221108 对于不带任何参数的函数,括号是可选的。iex中的自动完

Elixir 为什么GenFsm不受欢迎?

为什么不推荐使用长生不老药的GenFsm行为 我想用GenFsm行为实现有限状态机。 我认为Agent不足以描述有限状态机。 因为,Agent不适合描述从相同输入返回不同值的每个状态。请参阅相关提交: 基本上,您现在可以直接从OTP使用:gen_fsm,而无需使用长生不老药包装 Elixir核心团队认为这太令人困惑了,建议开发人员寻求其他解决方案 三天前,我在它周围写了一个长生不老药包装,并把它推到hex.pm,名为gen_fsm。这是github页面:如果您想查看它。:gen_fsm在Erla

Elixir 原始SQL与exto

我对长生不老药和凤凰框架的世界很陌生。我正试图学习FirehoseProject教程,但在使用Exto查询原始SQL时遇到了问题。教程说这应该可以: defmodule Queries do def random do query = Ecto.Adapters.Postgres.query( Repo, "SELECT id, saying, author from quotes ORDER BY RANDOM() LIMIT 1", []) %Postgrex

Elixir 向所有活动频道广播-凤凰框架长生不老药

简单的问题,是否可以从控制器向所有活动频道广播 例如,这里是我的控制器: # Controller defmodule Rumbl.DiscussionController do use Rumbl.Web, :controller def blast(conn, _params) do Rumbl.Endpoint.broadcast("room:*", "push_notifications", %{message: "broadcast coooyt!!"

Elixir 使用()调用没有参数的函数

调用不接受任何参数的函数时,使用或匹配括号的约定是什么 function1(aaa) |> function2() |> function3() |> function4(bbb) # or function1(aaa) |> function2 |> function3 |> function4(bbb) 我认为,在这方面还没有公约 赞成 Elixir编译器警告调用链外没有括号的函数 使用局部变量重写不带括号的方法调用存在风险 _ 对立面 默认情

Elixir Phoenix mix-编译can';找不到依赖的依赖

在我的Phoenix应用程序中,我遇到了一个问题,mix似乎无法找到我的一个依赖项的依赖项。。。让我把它分解一下 我在mix.exs中添加了一个名为opentok的dep,并运行了mix-deps.get-这一切都很好,已经安装,添加到mix.lock,等等。但是,当我运行mix-deps.compile时,我收到了一些与依赖关系相关的消息。。。例如: DEP jwt mv: /Users/user/projects/phoenix_app/deps/opentok/deps/jwt/eb

更新Elixir中的嵌套映射

我有一个两级嵌套映射,如何更新第二级上的每个值?现在我正在这样做: items = Enum.map(items, fn(a) -> a.items2 = Enum.map(a.items2, fn(a2) -> Map.put(x2, :some_key, 123) end) a end) 错误: cannot invoke remote function "a.items2/0" inside match. 我基本上知道这意味着

Elixir-将字符串解析为浮动导致错误

尝试将字符串解析为浮点时出现以下错误: case insert_product_shop(conn, existing_product.id, existing_shop.id, String.to_float(posted_product["price"])) do 错误: 20:45:29.766 [error] #PID<0.342.0> running Api.Router terminated Server: 172.20.10.2:4000 (http) Request

如何以Elixir的Ecto查询格式表示此查询?

将以下SQL查询转换为有效的EXTO查询时遇到问题: 挑选* 从文件单元模块 文件名在哪里= 选择f.file\u id 从文件中选择f 在f.file\u id=fm.file\u id上以fm形式左键连接文件\u模块 其中f.storage_id='20:1:0:86d:1591:c89c:512:de52'和fm.name='bruteforce' 按f.version DESC订购 限制1 我认为应该把这个问题一分为二。以下是我尝试过的: q1= 文件 |>其中[f],f.storage

Elixir将导入的函数重命名为alias

假设我正在测试一个属于Utils模块的函数,如下所示 defmodule Test do alias Module.Utils test "test 1" do Utils.some_function?(...) end test "test 2" do Utils.some_function?(...) end end 我是否可以将该函数重构或简化为: import Utils.some_function as test_func() 因此,我不必编

Elixir 使用EXTO查询查找属于特定用户的联盟

我有用户和联盟他们通过用户联盟相互联系。非常基本的设置 但现在我试图查询与特定用户有关联的联盟。因此,如果用户A与联赛A有关系,但与联赛B没有关系,我想在查询联赛时只查看联赛A 这是Rails似乎是一种更简单的方法的情况之一。在rails中,这将是:@leagues=current\u user.leagues ` 以下是我目前的尝试: def my_leagues(conn, _params) do current_user_id = Coherence.current_u

Elixir 解压缩内部tarball失败:参数无效

当我尝试获取依赖项(mix deps.get)时,我收到以下错误: 更新EXTO(十六进制软件包) 检查包() 取回的包 **(混合)解压缩内部tarball失败:参数无效 我正在使用Windows 10。我假设您正在使用Windows 10的WSL 您必须将项目移动到WSL环境中的一个文件夹中,即 您的项目位于如下目录中: C:/Users/UserName/Documents/Projects/project-name /home/user-name 将其移动到如下目录: C:/Us

Elixir依赖项不生成应用程序文件

我即将发布myhtmlex库的0.2.0。 但是我在测试我的新软件包版本时遇到了问题,因为测试应用程序没有生成应用程序文件 为了测试我的集成,我编写了一个脚本,在测试应用程序中测试我的十六进制版本 您可以在此处查看来源: 重现这一点的步骤如下: 构建十六进制包mix hex.Build 解压缩生成的tar归档文件 使用{:myhtmlex,路径:“../localtararchive”} 构建测试应用程序mix compile,但在以下情况下失败: ==> myhtmlex Compili

Elixir enumerable chunks:如何将列表划分为按n的倍数划分的子列表

假设我在Elixir中有一个严格递增的整数列表,当这个数字大于5的倍数时,我想将其分解为子列表。我尝试使用chunk_by,但我得到了以下结果: Enum.chunk_by([300, 301, 304, 305, 306, 309, 310, 311, 312, 313, 314, 315, 316, 317, 319, 320], fn(x) -> rem(x, 5) == 0 end) [ [300], [301, 304], [305], [306, 309]

Can';t访问主elixir项目中的依赖项配置

我有一个项目world\u app,我已将其作为依赖项包含在hello\u app中(如果相关,我已将其作为本地依赖项包含) 世界_应用程序有一个具有此配置的config.exs config :world_app, some_config: "config_string" 当我试图在hello\u app中获取world\u app中定义的配置变量时,出现了我的问题(我在hello\u app中运行了iex-S mix) 然而,当我在世界应用程序中执行相同的操作时,我可以看到变量 iex(1

Elixir “如何安装透析器”;有关';的回调信息';“行为不可用”;新混合任务出错

我在/lib/Mix/tasks/start.ex中为我的项目创建了新的Mix.Task defmodule Mix.Tasks.Start do 使用Mix.Task def run(551;),do:IO.puts(“你好,世界!”) 结束 现在,它可以像这样从控制台运行: mix start 但是我得到了透析器错误,关于'Elixir.Mix.Task'行为的回调信息不可用。这意味着什么?如何修复?看起来我没有为透析器添加(PLT)选项。 在我的情况下,“Elixir.Mix.Task”

如何在Elixir中获取特定运行进程的实例?

在elixir中,如果调用spawn来创建流程,但没有将流程实例存储到变量中,那么如何再次检索该PID的实例 我知道我可以使用Process.list(),它将返回当前节点中运行的所有进程,但是否有方法检索特定PID的实例?最简单的方法是为进程设置一个名称,然后使用进行检索。最简单的方法是存储PID以备将来使用,或者为进程命名,以便您可以通过该唯一名称(在给定节点中是唯一的。除非您全局注册,否则它在整个erlang网络中是唯一的)。因此,如果我没有命名PID,则无法检索它?如果您知道PID整数值

Elixir 使用GenServer向web API添加内存状态

我目前正在尝试用Elixir构建一个小的web API,它需要一些内存状态。简而言之,用户第一次使用API时就启动了某个业务流程,以后可以继续进行进一步的API调用 对于这一点,我已经看到最好的方法是创建一个GenServer,将状态存储在那里,然后通过PID使用进一步的API调用 当我试图搜索如何将PID字符串化,以便在我找到的每个API调用中返回它时,它说: PID不能保证在回收时是独一无二的 所以我的问题是:对于这种情况,什么是最好的方法?通常是如何解决的?可用于创建唯一标识符: iex(

Elixir 如何使Plug.ErrorHandler和其他插件同时工作?

我注意到,Plug.ErrorHandler的handle\u errors回调中的send\u resp生成的响应不会通过其他插件 例如,我在handle\u error中构建了一个JSON响应。但是这个JSON响应不会通过我的JSONHeaderPlug和CORSPlug。这带来了很多麻烦 特定症状,如缺少这些基本HTTP标头: access-control-allow-credentials: true access-control-allow-origin: * access-contr

Elixir 如何从一个表相对于另一个表异步更新一批记录

我有两个表格:作业和报告。制作一份报告来保存任务的统计信息。因此,每次创建或更新任务时,都必须不加区别地更新所有报告。我是这样做的: Multi.new() |> Multi.insert(:assignment, assignment_changeset(params)) |> Multi.update(:update_reports, update_all_reports()) 现在,每当我创建或更新任务时,这会给服务器带来巨大的损失,因为有太多的报告需要更新。因此我经历了超时

Elixir 如何获取变更集字段的值

我正在尝试获取:amount字段的值。并以此来计算报价。所以基本上我不能得到数量的值 任何帮助都将不胜感激 schema "loans" do field :amount, :integer field :email, :string field :isHigher, :boolean, default: false field :names, :string field :offer, :integer, default: 0 field :phoneNumber, :

Elixir Phoenix:设置路由器全局上下文路径

假设在我的路由器.ex中,我有: scope "/api" do get "/test", SomeController, :test end 现在,我想动态配置整个应用程序的根路径,这样它就不会从/api/test响应,而是从/context/api/test响应 配置端点url参数似乎只会更改url的生成。您可以尝试在url配置中调整路径配置。如果您这样设置,它“应该”工作: 您可以尝试在urlconfig中调整path配置。如果您这样设置,它“应该”工作: 事实并非如此。如前所述,它

Elixir 此长生不老药功能中的(反向)赋值/匹配有什么意义

我唯一的猜测是,它是为了验证它是否是一个结构。否则,%User{}=User会做什么 def change_user(%User{} = user) do User.changeset(user, %{}) end 它来自凤凰框架和各种发电机等 提前感谢。是的,这将验证输入是否可以匹配到/是%User{}结构,而不是其他 它的要点是识别bug(通过静态程序分析)或强制运行时错误/崩溃,这样您的程序就不会做任何有害的事情(希望如此)。如果您将其更多地看作类型提示,它可能会有所帮助。虽然这是一

Elixir Mix发行版-如何将额外文件复制到凤凰卫视的tarball应用程序中?

我编写了以下mix.exs以将Phoenix应用程序作为tar ball发布,参考mix.Tasks.release的“步骤”部分 当我运行MIX_ENV=qa MIX release my_app时,它在_build/qa/rel/my_app下创建了一个种子目录,但当我提取生成的tar ball时,它不包含种子目录 如何重写mix.exs以将此目录插入tar球 Elixir版本是1.11.3 注意:已发布在Elixir论坛上。查看for mix.release,它似乎只在编译版本时从特定目录

Elixir:对inspect输出中的结构字段进行排序

我正在调试一个包含80多个字段的结构。我试图找到一种方法来为这个结构对inspect函数的输出进行排序。目前它是随机的,不可能以任何有意义的方式区分输出。我曾尝试实现Inspect协议,但一直遇到一些值无法转换为字符串的问题。当我将{item.field}字符串格式替换为{inspectitem.field}时,我得到一个错误,即Kernel.inspect/2与本地函数冲突。下面是代码示例: defimpl Inspect, for: App.Record do def inspect(r

Elixir 凤凰城可以';t start-缺少AppName.Endpoint.start\u链接

Pheonix变化如此频繁,以至于我不确定我所做的是否正确 我正在尝试学习一些教程,它们都在编译完成后立即使用“mix phoenix.start”命令,这应该会启动服务器。(Github的问题页面上有一些讨论说,他们将用mix phoenix.server命令替换它,您必须手动执行某些操作,而不是真正遵循它。无论如何,这是在开发版本v0.8.0-dev中。我使用的是最新的稳定版本0.7.2) 尝试发出“mix phoenix.start”命令以启动服务器时出错 (应用程序名:PhoenixCr

Elixir Phoenix框架-表单中的确认字段

今天,我使用phoenix框架创建了一个新项目,一个添加singup函数的项目。我现在的问题是,我不知道如何创建和验证确认字段,例如用户密码。我没有找到关于这个话题的任何东西 在我现在的代码下面,没有什么特别的 我的当前表单模板 <%= form_for @changeset, @action, fn f -> %> <%= if f.errors != [] do %> <!-- not interesting -->

Elixir 如何在不预加载关联的情况下加载关联?

我有以下两种型号: schema "users" do field :email, :string field :crypted_password, :string field :password, :string, virtual: true has_many :exercise_entries, ExerciseEntry timestamps end 以及: 我在iex中运行了以下代码: u = Repo.get(User, 1) iex(8)

Elixir 用毒药编码一个外胚层模型:{:无效,{nil,“";投票”}

我想对两个模型进行编码,定义如下: web/models/vote.ex defmodule-LetsPlan.Vote-do 使用LetsPlan.Web,:model 别名LetsPlan。可用性 导入LetsPlan.Utils,仅限:[截止日期:1] @派生{Poison.Encoder,仅:[:名称,:可用性]} 模式“投票”做什么 字段:名称,:字符串,null:false 属于:event,LetsPlan.event 嵌入了很多:可用性,LetsPlan.Availability

Elixir 管道中的模式匹配

我必须解析一个xml文档,从xml节点提取一个整数 目前我有: try do Floki.find(node, "stat[type='jersey_num']") |> Floki.text |> Integer.parse |> elem(0) rescue e -> nil end 这很好,但我不喜欢拯救一切,我想做一些事情,比如: Floki.find(node, "stat[type='jersey_num']") |>

Elixir 长生不老药:GenStage拓扑

出于自我教育的目的,我试着学习长生不老药,并在GenStagelibrary周围绞尽脑汁 我阅读了文档,大部分都得到了它,但是对于我的特定领域,我有几个问题 我试图建立一个网页刮板,它应该每天启动几次,并做一些刮板和后处理 第一个问题 因此,我最重要的生产者是一个阶段,它发出HTTP请求并将它们交给消费者 我如何处理这里的“等待6小时” 我应该只接受需求,而向消费者发送空事件吗?这听起来像是在浪费CPU周期 也许,GenStage对于此类事件不是一种正确的方法 第二个问题 有时我需要将事件返回到

Elixir编译错误:具有多个子句和默认值的定义需要标头

我发现Elixir编译错误:具有多个子句和默认值的定义需要一个标题。用于以下函数。我不清楚为什么我会犯这个错误?对如何解决这个问题有什么建议吗 def stream(query, opts \\ []) do initial_key = Keyword.get(opts, :initial_key, 0) key_name = Keyword.get(opts, :key_name, :id) chunk_size = Keyword.get(opts, :chunk

Elixir santize带\“的字符串;

从API响应中获取标题后,我有以下字符串: "\"Web Service Authentication\"" 将这些字符串清理为以下内容的最简单方法是什么: "Web Service Authentication" 您可以使用String.replace/3删除引号 "\"Web Service Authentication\"" |> String.replace("\"", "") 或String.trim/2如果引号仅在边上 "\"Web Service Authenticat

上一页 1 2 ...  53   54   55   56    57   58   59  ... 下一页 最后一页 共 125 页