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
 Elixir_IT技术博客_编程技术问答 - 「Fatal编程技术网」

Elixir ';接听电话';超时

我正在从genserver中的handle info函数调用elixir genserver,以添加从客户端获取的电话号码。但一旦handle_调用被调用,所有者进程就会崩溃[超时]。请帮忙 全局创建一个ETS,以在调用下面所述的任何函数之前插入值 def handle_info(消息、状态)do {a,b}=消息 phonenumber=b[:正文] 添加电话号码 {:诺雷普利州} 结束 def添加(电话号码)do 调用(_模块,{:add,phonenumber}) 结束 def handl

如何确定在elixir中从哪个模块导入特定函数

当通过在某个中间模块上调用use包含多个外部模块时,是否有一种简单的方法来确定在哪个模块中实际定义了给定的方法 例如: 我找到了一个适合我的解决方案,通过使用和捕获函数,然后检查它: def method_a IO.inspect &method_b/0 # outputs &ModuleB.method_b method_b end 每个模块都定义了一个\uuuu info\uuu函数,您可以使用它查看该模块导出的函数: IO.inspect ModuleB._

Elixir 在长生不老药列表中,如何获得中间值?

我需要从列表中获取一个中间值 如何使用elixir中的list[0]或list[3..-1] e、 g: 如何使用Tuple?使用您可以做到: Enum.slice(list, 2..-1) # [3, 4, 5, 6] 以及: 要获得准确的中间值(如问题标题所示),可以执行以下操作: # Given a list: li midPos = (length(li) -1) |> div 2 Enum.at li, midPos # Or in one line Enum.at(

Elixir (巴达里耶罗)为什么它的投掷错误?

简单的长生不老药程序,将奇数和偶数分开,然后打印出来 iex(22)> c("testmap.ex") testmap.ex:1: warning: redefining module TestModule [TestModule] iex(23)> TestModule.test_map_reduce ** (BadArityError) #Function<0.56012634/2 in TestModule.pretty_print/1> with arity

Elixir 什么是函数定义的语法?

在OS X上使用Elixir V1.1.1时,我在理解Elixir函数定义语法方面遇到了问题 给定函数定义: def foobar(arg1, arg2), do: <<something>> end 似乎在某些情况下,括号后的逗号是必需的,而在其他情况下则不是。同样,在“do”后面加冒号,在“end”后面加结束符。我敢肯定我把情况复杂化了很多,但对于编程语言来说,这似乎是一种奇怪的设置 在什么情况下这些元素是必需的/可选的?您已经将两种形式的方法定义组合在一起了——较

在应用程序启动Phoenix Framework(Elixir)时运行代码

您是否只在您的应用程序/api启动时才将要运行的代码放入到Villa Phoenix应用程序中?假设我想确保创建一些mnesia表或配置我的记录器后端。另一件事是运行时配置。他们在文档中提到了它,但我不清楚在哪里定义/更改运行时配置 Endpoint.ex似乎是一个完成初始配置的地方,但通过查看文档,我找不到任何回调函数,它允许我在启动时只运行代码一次。将其放入应用程序回调模块。它通常是应用程序的名称:start/2函数中的lib/my\u app/my\u app.ex。模块的第二行应该有使用

Elixir 进行数学运算(1小时前)和基于日期/日期时间的查询(在最后一天/分钟内创建)的最佳方法

这将给出一小时前的时间,然后我可以使用where:x.inserted\u at>=^hour\u ago 是否有一种更简单或更好的方法来计算日期时间和/或按日期查询?我该如何确定日期范围?我认为您可以简单地使用以下内容: {{year,month,day},{hour,minute,second}} = Ecto.DateTime.utc |> Ecto.DateTime.to_erl hour_ago = {{year,month,day},{hour-1,minute,secon

Elixir 在视图中连接字符串

如果全名中的尊称前缀不为空,如何连接名和姓并添加尊称前缀 defmodule MyApp.UserView do use MyApp.Web, :view alias MyApp.User def full_name(%User{first_name: first_name, last_name: last_name, honorific_prefix: honorific_prefix})

Elixir insert_all不会使用EXTO 2.0创建自动生成的inserted_at

安装的EXTO版本是“2.0.0-rc.5” 从文档中可以看出,在处插入的似乎是自动生成的。我应该手动完成这部分吗 iex(1)> categories = [%{name: "stackoverflow", url: "stackoverflow.com"}] iex(2)> App.Repo.insert_all App.Category, categories ** (Postgrex.Error) ERROR (not_null_violation): null valu

Elixir 检查Phoenix中是否传递了正确的参数

我使用Phoenix作为基本的JSON api,但在解决如何检查请求者是否传入了正确的参数时遇到了一些问题 假设用户发出post请求,该请求需要以下正文: { "user": { "email": "someone@example.com", "password": "mangoes" } } 我想检查用户是否在用户对象中传入了电子邮件和密码。目前,我正在控制器动作中执行类似操作: params[user][email] and params[user][passwor

Elixir Phoenix中的预编译模板

Phoenix docs说“Phoenix模板是预编译的,这使得它们的速度非常快。” 我有几个问题,预编译模板实际上意味着什么,与Rails应用程序之类的东西相比,它在生产中会产生多大的显著差异 预编译模板实际上意味着什么 这里的预编译意味着web/templates中的所有模板实际上都编译为相应视图中render函数的正常函数子句 <pre><%= inspect(@posts) %></pre> 如果您在web/templates/posts/index

Elixir 处理HTTPoison调用时的Case语句

我尝试对返回多个项目或单个项目的API调用使用相同的HTTPoison调用。对多个项的响应将它们抛出到“items”属性中,而单个项仅返回作为JSON字符串的项信息 这是我的密码: def process_url(method, id \\ 0) do if id > 0 do "http://api.call.com/#{method}/#{id}?key=API_KEY" else "http://api.call.com/#{method}

Elixir Phoenix附加布局变量,如@inner

我希望为布局添加额外的布局参数,如@internal。例如,用于@title的@title,以及用于为单个页面加载javascript的区域 window.onload = function () { @onload_js } 这些都是在布局中设置的,所以我不确定在凤凰城处理这些问题的最佳方式。谢谢:D.对于页面标题,您只需从控制器传递一个值: def edit(conn, params) do render(conn, "edit.html", page_title: "Edit

Elixir 在mix中处理配置值

我目前正在努力处理混合中的配置值(尤其是在运行测试时)。这是我的设想: 我有一个客户端库,带有一些常见的配置值(key、secret、region) 我想测试没有区域值设置时会发生什么 我在/config 我现在是这样做的(但这不起作用)。 正在测试的模块(简化): 运行mix test时发生的情况是,设置这些值属性的主模块由于找不到有效值而抛出以下错误: lib/streamex/client.ex:36: invalid literal nil in <<>>

Elixir 保持@character不被替换

我有以下路线: get "/@:user_name", UserController, :show 这似乎有效。但是,当我使用URL帮助器时: user_path( @conn, :show, @current_user.user_name ) 输出完全转义: 如果我执行如下路线: get "/@/:user_name", UserController, :show 然后,@符号输出为非转义: 有没有一种方法可以实现第一个路由而不转义@符号?在URL路径中使用@符号是个坏主意吗?原因是

Elixir 正确的结构定义

如何以正确的方式定义结构,请查看以下代码段: defmodule SapOdataService.Worker do defstruct uri: "", user: nil, password: nil 我应该将默认值定义为nil还是?您有几个选项 对于空白值,可以使用nil显式列出键值对 defmodule User do defstruct name: "zero_coding", age: nil end 您可以传递一个原子列表,该列表将全部默认为零: defmodule

Elixir如何一次迭代两个列表以生成新列表?

我想一次迭代两个列表,但不知道如何迭代。for循环允许您将多个列表作为for循环的嵌套,我对Enum不太熟悉,但可能有一个解决方案 Python有zip(list\u 1,list\u 2)和enumerate(list\u 1)来实现这一点 在Tcl中,对我来说更容易: % foreach var1 [list 1 3] var2 [list 2 4] { puts "$var1 $var2" } 1 2 3 4 但我想不出用长生不老药怎么做 我想这样做的原因是因为我有一个这样的

Elixir Phoenix 1.3迁移未知应用程序:

我正在尝试使用将Phoenix应用程序从1.2迁移到1.3,包括将web代码移动到lib/my_app_web 我正在做以下几点 == Compilation error on file lib/my_app_web/gettext.ex == ** (ArgumentError) unknown application: :MyAppWeb (elixir) lib/application.ex:428: Application.app_dir/1 (elixir) lib/a

Elixir Can';t在phoenix中创建自定义链接:未实现协议枚举

我是Elixir/Phoenix新手,我想创建一个不使用模型ID但最终出现错误的链接: 未为%XX.YY.文章{{uuuu meta_uuuu:#exto.Schema.Metadata实现协议枚举,内容:nil,id:nil,inserted_at:nil,short_title:“lalalalillaa”,slug:457,title:nil,updated_at:nil}。 以下是我尝试创建链接的方式: def link_to_article(conn, article_map) d

Elixir 简单外键

在我的Phoenix应用程序中,我有一个联系人表和一个地址表。联系人模式为: schema "contacts" do field :name, :string field :number, :string has_one :address, App.Address, on_delete: :nothing timestamps() end 地址模式为 schema "addresses" do field :name, :string fie

Elixir 如何从Phoenix日志中删除换行符

Phoenix有一个有用的请求日志,但我需要删除它生成的换行: Processing with Example.show_account/2 Parameters: %{} Pipelines: [:secure_api] 这些新行是在Phoenix.Logger.Phoenix\u controller\u call/4上定义的 我尝试了一个带有字符串的简单自定义日志格式函数。replace/4,但它不起作用,因为该函数接收的是IOList(我第一次看到它),而不是字符串 我有什么办

如何减少Elixir中的地图列表

我有一个要减少的映射列表,因为它通常包含重复的名称,但我不能只使用Enum.uniq,因为我想将count列相加,例如: list = [%{count: 4, name: "first"}, %{count: 43, name: "second"}, %{count: 11, name: "third"}, %{count: 11, name: "first"}, %{count: 11, name: "second"}, %{count: 28, name: "second"}] 之后的

Elixir 主管和动态主管之间的区别

有人能解释长生不老药中主管和动态主管的区别吗 动态监督员是设计用于监督和管理的监督员 许多孩子都是动态的 这是DynamicSupervisor的主要用途--您可以阅读全文 在高层次上,提案中概述了四个主要目标: 简化两个管理器模块的API和使用。最 “主管”模块中的所有文档都包含 条件:“如果主管类型为:simple\u one\u for\u one, 它将表现为X,其他则表现为Y 缺乏周围环境的行为会让监管者 难以学习、理解和使用 在以下情况下提供开箱即用的主管切分 主管本身可能是一个可

Elixir 混合设置代理

当我跑的时候 defmodule Elixirrest.MixProject do use Mix.Project def project do [ app: :elixirrest, version: "0.1.0", elixir: "~> 1.6", start_permanent: Mix.env() == :prod, deps: deps() ] end # Run "mix hel

Elixir在两个列表中查找第一个匹配元素

我对长生不老药相当陌生,我有一个小生意上的问题。我正在尝试将api调用返回的数据本地化到Phoenix中间层。我正在获取用户的浏览器语言,并将其解析为一个列表。语言的顺序是相关的。我想从我支持的语言列表中的浏览器语言列表中找到第一种匹配的语言 我可以用嵌套循环和其他方法来实现这一点,但这似乎是Elixir可以做得更优雅的事情。使用: user=~w|对它进行加密| 支持=~w| it ru en| Enum.find(用户'en',fn l->Enum.empty?([l]--支持的)结束)

Elixir 未为用户/Phoenix错误实现EXTO.Queryable

下面是编程Phoenix 1.4的书籍。当我使用手动数据库时,该模块工作正常,但当我试图切换我的accounts.ex文件(就像书中告诉我的那样)时,它坏了: defmodule Rumbl.Accounts做什么 别名Rumbl.Repo def get_用户(id)do Repo.get(用户,id) 结束 def get_用户!(id)做什么 回购,快!(用户,id) 结束 def get_user_by(参数)do 回购获取方式(用户、参数) 结束 def list_用户做什么 全部回购

Elixir 发送一条消息,让多个GenServer同时运行,并知道它们都已运行?

我创建了许多GenServer,并使用PIDs一次向它们发送一条消息。但是,我希望他们在一个游戏中的一个“回合”上几乎同时行动。我如何才能:(1)向他们广播一条“开始!”消息(2)知道他们都演完了(即,结束了)?实现目标的一种方法是将所有的开始消息抛出,然后异步回复: defmodule TurnTracker do use GenServer def init(pids) do state = %{ pids: pids, ongoing_reques

Elixir 自定义展平实现中的空头

所以基本上,我尝试使用一些嵌套的递归来实现flant函数。问题是我得到了无限循环,当检查实际头部时,它是空的。我刚开始学习长生不老药,所以请不要对我太苛刻 defmoduletestdo def自定义_展平列表do 自定义展平列表,[] 结束 def自定义|U展平[h | t],累加器do 自定义展平[t],[自定义展平(h)|累加器] 结束 def自定义_展平[],累加器do IO.puts“调用空列表匹配#{acculator}” 枚举反向累加器 结束 def自定义_展平h,蓄能器do [h

Elixir 用户在开始登录后不会持久存在

我正在使用Guardian构建我的第一个Elixir应用程序,我遇到了一个问题,用户可以登录并通过身份验证,但在重定向到下一页时,conn不再存储用户信息,并且Guardian.Plug.is_authenticated?返回false session\u controller.ex .... def create(conn, %{"session" => %{"email" => email, "password" => password}}) do case

Can';使用“mix deps.get”安装后,请不要在elixir shell中运行函数`

我正试图按照自述文件中的指示使用hex进行安装。但是,当我尝试执行示例代码时,我得到一个错误: 9afa01708fef# iex Erlang/OTP 22 [erts-10.5] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe] Interactive Elixir (1.9.1) - press Ctrl+C to exit (type h() ENTER for help) iex(1)> {:o

Elixir 在LiveView中获取当前路径

在正常路线中: get/index,MyController,:index 我只需从Plug.Conn的path\u info函数中获取路径即可 但是,如果我有一条活动路径,如何检索当前路径 live/index,IndexLive您可以使用当前uri获取装载后和渲染前调用的uri。您可以给出一个如何在模板中实际使用该回调的示例吗?我想根据路径设置一个活动类。在*Web.*Live模块中,定义def handle_参数(\u unsigned_参数,uri,socket),do:{:norepl

Elixir 当不使用pheonix时,启用开发热重新加载的最佳方法是什么?

所以我学习Elixir和Pheonix看起来太多了,无法开始学习,所以我制作了一个带有插件和毒药的简单JSON Rest API,但要看到任何更改,我需要停止服务器并再次运行mix run--no halt。我来自nodeJS,它有nodemon,它只跟踪依赖于根模块的所有文件,并在看到任何更改时重新加载整个服务器。混合药或长生不老药有类似的药吗。我知道您可以使用OTP重新加载代码的特定部分,如果我的服务器在保存时这样做是最好的,但是现在我只想更快地响应我所做的。有人能给我指出正确的方向吗?我从

Elixir流在本地计算机中工作,但不处理数据并抛出:[warn]**未定义的句柄信息在";GenStage.Streamer“;在AWS Fargate

我一直在尝试使用Elixir Flow(从GenStage构建的Lib)来处理/流式处理来自AWS S3 bucket文件的数据,并写入AWS RDS DB 我已经能够在我的本地机器上成功地做到这一点,但当我将我的应用程序部署到AWS ECS/Fargate或EC2时,它并没有按预期工作。 以下是我的实施: def load_file(file_name) do window = Flow.Window.count(100) file_name |> HTTPS

Elixir 使用Floki访问html属性

我试图从我用过的HTML正文中获取图像。现在尸体在 [ {"div", [{"class", "a-cover-image"}, {"data-state", "not-initialised"}], [ {"div", [ {"class", "content"}, {&q

Elixir 有没有办法保持GenServer状态的持久性?

我正在尝试使用GenServer实现一个计数器。其思想是每当客户端访问服务器时增加一个计数器,并在控制台中打印它。但是,每次访问后,GenServer状态重置或PID终止。有没有办法保持GenServer状态的持久性 代码如下: lib/myapp\u web/livecount.ex中的计数器文件 defmodule Counter do use GenServer # Client def start_link(integer \\ 0, opts \\ [])

Elixir 使用长生不老药/凤凰,可以';由于使用phoenix.gen.resource生成的CRUD进行严格验证,因此无法从web UI创建带有空字段的记录

在我的Phoenix 0.10.0应用程序中,我运行 mix phoenix.gen.resource Job jobs job_name:string job_url:string company_url:string location:string notes:string 通过添加资源行router.ex并运行mix-exto.migrate进行后续操作 通过这些更改,只要我填写所有字段,从web界面创建新记录就可以了。如果我将其中一个留空,浏览器中会显示一条错误消息,上面写着“哎呀,出

Elixir 长生不老药任务-优雅关机

我有长生不老药任务,需要一些时间(10秒)。当应用程序升级时,此任务将被任务终止。尽管处于关闭状态,但Supervisor仍将关闭:30000: =SUPERVISOR REPORT==== 13-Aug-2015::00:03:09 === Supervisor: {local,tasks_sup} Context: child_terminated Reason: killed Offender: [{pid,<0.304.0>},

Elixir 如何在Phoenix应用程序启动时预填充数据库?

我有这个模式: schema "editables" do field :title, :string field :content, :binary timestamps end 我希望在应用程序启动时自动创建并填充几行,比如我想创建6个条目,其中:title字段包含:page1,page2,。。。 我应该这样做吗?我的建议:创建一个脚本文件来填充数据库。我们称之为priv/repo/seeds.exs: alias MyApp.Repo Repo.insert! %

Elixir 我可以依靠def做。。。之后结束语法?

函数定义可以有一个after子句,就像try语句一样: # after.exs defmodule M do def f do IO.puts "hello" raise "die" IO.puts "world" after IO.puts "bye" end end iex(1)> M.f hello bye ** (RuntimeError) die after.exs:3: M.f/0 (elixir) lib/code

Elixir-将列表转换为地图

将像[1,2,3,4]这样的列表转换为map%{1=>2,3=>4}的优雅而有效的方法是什么?我写道: Enum.reduce([1,2,3,4],%{}, fn(item, acc) -> case Map.get(acc, :last) do nil -> Map.put(acc, :last, item) last -> acc = Map.put(acc,

Elixir 长生不老药:验证特定范围内是否存在IP

需要检查给定IP是否存在于这些多个范围内 Given IP: 49.14.1.2 Ranges: 49.14.0.0 - 49.14.63.255, 106.76.96.0 - 106.76.127.255, and so on 我已尝试将其转换为整数并验证范围。IP本身是否有其他方法可以不转换为整数使用:inet.parse_address/1将地址转换为元组形式,并使用简单的元组比较进行比较 iex(33)> a_ip = :inet.parse_address(a) {:ok, {

在Elixir的同一个键上组合两个贴图

我对长生不老药很陌生,只是想知道最好的方法是用同一个键组合两张地图。更具体地说: name_map = %{ 105 => "Jim", 48 => "Maria", 62 => "Karen", 888 => "Foo" } job_map = %{ 105 => "Social worker", 48 => "Programmer", 62 => "Teacher", 999 => "Bar" } 而我正试图

Elixir 如何在phoenix框架中检查exq作业的状态?

我在phoenix框架中使用exq作为后台处理。是否有一种方法可以使用作业id检查exq作业的状态,以了解它是否已完成或失败,或者是什么?我浏览了文档,但没有太多相关信息。Exq有文档记录。我建议你需要 不幸的是,该文档没有提供到源代码的链接,因此。谢谢@mudasobwa,我在这里找到了它,这是一个完整的示例,供有同样想法的人使用 job_pid = Application.get_env(:exq, :name) |> Exq.Api.Server.server_name job_id

在Elixir中,如何将非UTF-8二进制文件中的所有字节相加?

例如,我有一个二进制,如何将其中的所有字节相加,从而得到15?这只是一个例子。我正在处理的实际二进制文件不是UTF-8编码的,因此字符串。to_charlist/1总是抛出异常。使用理解: for(do:i) |>Enum.reduce(0,&Kernel.+/2) #⇒ 15 也Enum.reduce(0,&Kernel.+/2)=Enum.sum。我甚至不知道这样的语法。我认为我应该更多地关注内核.SpecialForms。通常,它是为

Elixir 为什么在运行mix工作服时出现编译错误

我在尝试运行task mix工作服时遇到此错误 ** (exit) an exception was raised: ** (MatchError) no match of right hand side value: :error cover.erl:1580: :cover.do_compile_beam2/5 cover.erl:1480: :cover.do_compile_beam/3 (stdlib) lists.erl:123

Elixir 通过图形api创建Outlook日历事件时创建团队链接

我正在尝试将outlook日历集成到elixir应用程序中 我引用了创建日历事件的链接 我无法为日历事件创建会议链接 当他通过日历(GUI)创建时,可以创建团队会议链接,所以我相信一定有办法做到这一点。我想我缺少一个创建会议链接的密钥 我的请求url- 我的请求是 { "start" => start_time, "end" => end_time, "attendees" =>[ %{

Elixir 如何在Liveview模板中停止页面刷新

我的LiveView应用程序在mount功能中设置一些初始状态(例如,按钮标签)。当模板通过一些消息传递时,它似乎被重新装载 在下面的示例中,按钮标签最初设置为“单击以运行”,单击按钮时,它会成功更改为“正在运行…”,然后更改为“仍在运行”。但是,mount会自动再次运行,标签会返回到“单击以运行”。所需的行为是,标签保持为“仍在进行中”,直到收到另一条消息,指示流程稍后完成 是什么触发了重新安装,我如何才能阻止它 def mount(_params, _session, socket) do

如何使用Elixir/Neurs获取当前设备IP

我正在为一个项目编写UPnP适配器,因此需要能够使用设备IP地址响应某些请求。有没有一种简单的单行方式 我的项目正在使用VintageNet和Neurs pack,并且可以通过VintageNet属性获得IP。但是,VintageNet在主机上的开发过程中不起作用,这对于我能够调试UPnP实现非常重要。而且,这使得我的UPnP库在将来独立于神经变得很尴尬 谢谢您的帮助。不太清楚神经,但您可以使用的输出来获取所需的信息 例如,如果您知道需要适配器en1的IPv4地址: :inet.getifadd

上一页 1 2 ...  6   7   8   9    10   11   12  ... 下一页 最后一页 共 125 页