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中连接字符串?

如何用空格将列表中的两个字符串连接起来,如: ["StringA", "StringB"] 变成 "StringA StringB" 如果您只想加入任意列表: "StringA" <> " " <> "StringB" 如果您的列表大小是任意的: Enum.join(["StringA", "StringB"], " ") 。。。以上所有解决方案都将返回 "StringA StringB" 如果您拥有的是一个任意列表,那么您可以使用Enum.join,但如果它仅

Elixir exrm控制台工作,但应用程序不会自动启动

我正在考虑为我的项目工作。答案让我明白了,我可以构建我的版本(在开发模式下)并通过控制台访问它 然而,有两个问题: 当我通过rel/my_app/bin/my_app console打开控制台时,我的应用程序实际上不会启动。我必须调用应用程序。启动(:我的应用程序)才能启动 调用rel/my_app/bin/my_app start不会启动我的应用程序。我可以看到epmd、beam.smp和run_-erl进程已经启动,但我自己的应用程序似乎没有运行 很确定这两个问题是相关的 控制台所采取的步骤

Elixir 凤凰本地化

我正在使用Phoenix框架开发一个多语言应用程序 到目前为止,路由器如下所示: scope "/:locale", App do pipe_through [:browser, :browser_session] get "/", PageController, :index get "/otherpage", OtherpageController, :index end scope "/", App do end 我在文档中使用了插件: 为了使“区域设置

Elixir 长生不老药:同时启动过程

假设我有这个模块 defmodule Loader do def spawn_pools(0, host, iteations, pids) do launch!(pids) #something I want to achieve end def spawn_pools(pools, host, iterations, pids) do pid = spawn_link(__MODULE__, :siege, [host, iterations]) sp

Elixir 脱机生成十六进制注册表文件

调整Elixir及其生态系统中的所有工具以与不同的构建系统协同工作 在这个系统中,包和它们的依赖项是分开管理的,Hex在脱机模式下工作。(抓住柏油球) 它有一个警告:每次我导入一个新包时,我还需要从hexpm导入最新的注册表文件,并且我不能使用未通过hex发布的包,除非它们位于deps链的顶层 给定一堆tarball(并假设它们之间的依赖关系得到满足),如何构建一个与它们一起工作的十六进制注册表文件 到目前为止,我所拥有的: 查看注册表文件格式,发现它是ets文件。可以加载并检查它;现在我需要

Elixir 如何为EXTO复制记录?

我有几张外星人的记录。但是我想复制它们(使它们大100倍)来播放大量的唱片。如何通过EXTO机制实现这一点?您只需从记录中删除id键即可复制dup: for n <- (0..10), do: User |> Repo.get(record_id) |> Map.delete(:id) |> Repo.insert 用于n Repo.get(record_id)|>Map.delete(:id)|>Repo.insert 虽然如果你有唯一的钥匙那就不行了。。。这将使您

Elixir模板-在具有迭代器值的列表中循环

来自其他编程语言,许多像我一样的人都会大吃一惊。我有一个简单的问题。我有一个列表,比如说用户。我希望遍历用户并显示一些信息。非常简单,直到我被这个难倒: 使用eex模板,我尝试这样做: <%= for i <- 0..length(@users) do %> <% user = Enum.at(@users) %> <!-- every third user, I need to display on a new "row" --> <

Elixir 循环浏览地图';s键值对

如何在Elixir中迭代映射的键值对 这不起作用: my_map = %{a: 1, b: 2, c: 3} Enum.each my_map, fn %{k => v} -> IO.puts "#{k} --> #{v}" end 结果表明,您在映射上迭代,就像在关键字列表上迭代一样(即,您使用元组): Enum.each%{a:1,b:2,c:3},fn{k,v}-> IO.puts(“{k}-->{v}”) 结束 还包括: {k,v}的

Elixir Enum.reduce返回一个模型而不是一个数字

在我的模型中,我有: # .... def total_price(self) do Enum.reduce(self.child_items, fn(x, acc) -> x.price + acc end) end 它返回一个ChildItem,而不是表示总价的数字。这是为什么?如何修复?Enum.reduce有两个版本:和。带有2个参数的一个参数将集合中的第一个元素作为初始累加器—在您的示例中,第一个ChildItem 您要做的是提供初始成本

Elixir 菲尼克斯长生不老药:使用fetch到一个动作并从模板视图返回JSON来发布帖子是否如此困难?

我确实有此控制器和模板视图,并且在发布到创建操作时出现此错误: 我是否错过了设置某些特定的插件 **(RuntimeError)预期操作/2返回插头。连接时,所有插头必须接收连接(Conn)并返回连接 长生不老药1.3.2 凤凰城1.2.1 毒药3.0 控制器中的部分代码 def create(conn, %{"cart" => cart, "form" => form}) do ... if changeset_order.valid? do Rep

Elixir 覆盖毒物编码器

我正在尝试使用Distillery创建我的Phoenix应用程序的发行版,我已经覆盖了DateTime和NaiveDateTime的毒药编码器,以符合API要求 当我运行mix-release时,我的应用程序会编译,但在.boot生成过程中出错 以下是stacktrace: $> mix release warning: variable "aliases" does not exist and is being expanded to "aliases()", please use pa

在伞形应用程序中使用捕获操作符-elixir

我有一个雨伞应用程序, 在一个应用程序(ex:App1)中,我将函数作为参数发送到另一个应用程序(ex:App2)中的不同函数。 我发送的函数如下所示: defmodule App1.Bar do def bar_bar(fun) do fun.() end end defmodule App2.Foo do def foo_foo do App1.Bar.bar_bar(&Io.puts(Project.get.project[:app])) end

在Elixir中创建UUID

在Elixir中生成UUID的规范方法是什么?我应该使用图书馆还是有内置图书馆?我最好有更少的依赖项,做更多的工作,反之亦然,因此,如果我能在Elixir中生成一个外部依赖项,它会更好地使用它。如果你将Elixir与EXTO一起使用,你可以始终使用EXTO.UUID在Elixir中生成全局唯一引用的标准方法是使用 从: 返回几乎唯一的引用 返回的引用将在大约2^82次调用后重新出现;因此,对于实际目的来说,它是足够独特的 如果你不想在你的项目中包括外星生物,你应该进行评估 为什么需要生产

当Elixir注册表进程在崩溃后重新启动时,它是否使用注册密钥恢复?

根据Elixir,如果注册的进程崩溃,它的键将自动从注册表中删除。 当注册表进程本身崩溃并由主管重新启动时,它是使用已注册进程的密钥恢复还是重新启动?注册表进程重新启动。事实证明,使用交互式长生不老药进行测试很容易 # Create a Registry process and registers an Agent process. {:ok, _} = Registry.start_link(keys: :unique, name: Registry.ViaTest) name = {:vi

Elixir 将天数列表拆分为包含天数列表的月份列表

我有一张包括日期的地图清单。我不知道这个列表有多长(可能是几年几天)。我只知道列表是按日期排序的,没有重复的日期 例如: [ %{date: ~D[2017-01-01], y: ["x"]}, %{date: ~D[2017-01-02], y: ["x"]}, %{date: ~D[2017-01-03], y: ["x"]}, %{date: ~D[2017-01-04], y: ["x"]}, %{date: ~D[2017-01-05], y: ["x"]}, %{date: ~D[2

如何将erlang包添加到elixir应用程序中

我正在尝试使用edeliver构建我的elixir应用程序的发行版,但我遇到以下错误 ==> Failed to build release: Undefined applications: [xmerl] 我正在尝试将xmerl添加到mix.exs文件中的deps列表中,但我不确定如何执行此操作 任何帮助都将不胜感激。提前谢谢 这是当前在我的项目中的DEP列表 defp deps do [{:phoenix, "~> 1.2.1"}, {:appsignal,

Elixir 是否有根长生不老药模块?

当我在Elixir中定义一个模块并在IEX中对其执行类似的to_string操作时 MyModule>to_字符串 我会得到结果的 “Elixir.MyModule” 是否有一个根级别的Elixir模块供所有其他模块使用?为什么有一个长生不老药前缀看起来像另一个模块 说它是一个名称空间,但我读过其他文章说Elixir不支持名称空间。我相信这是为了在Elixir和Erlang模块之间做出区别。所有elixir模块都以elixir前缀开头。 MyModule只是atom的别名:“Elixir.MyM

将多个文件传递给elixir程序-STDIN

我正在学习长生不老药,我遇到了一个问题。我想处理通过STDIN传入的两个不同的文本文件 例如: def run() do # IO.inspect IO.read(:stdio, :line) case IO.read(:stdio, :line) do :eof -> :ok data -> IO.write(:stdio, data) end end Interview.run() 我

Elixir phoenix遥测监控上游api调用

我在phoenix应用程序中有以下api客户端 defmodule SomeService do use HTTPoison.Base def process_request_url(url) do Application.get_env(:my_app, :some_service)[:host] <> url end def process_response_body(body) do if String.trim(body) != "" d

运行Elixir exq workers时,模块不可用

我使用Elixir构建了一个异步作业处理应用程序。文档中说,我可以使用终端(使用iex-S mix)或作为独立应用程序(使用mix exq.run)运行应用程序。当我在终端上运行时,一切正常,但当我运行独立应用程序时,我在获取作业时收到以下消息: 16:52:55.028 [info] Elixir.MyWorker[128f902c-dd22-4706-95a2-89dc974b95d6] start 16:52:55.045 [error] Process #PID<0.196.0

Elixir-从Enum.each()获取映射

我是新来的长生不老药和尝试。以下是我的代码: def计数(句子)do a=句子 |>String.downcase() 排序a=Regex.split(~r/([^a-z(\-)]+)/,a) |>Enum.sort() uniq_a=Enum.uniq(sort_a) map=map.new(uniq_a,fn x->{x,0}end) final_map=Enum.each(map,fn{k,v}-> 映射.替换!(映射,k,v+匹配检查(k,排序a)) (完) 最终地图 结束 def匹配检

在v0.9.0之后,如何处理do…end in Elixir/Phoenix的弃用?

直到今天我还在使用Phoenix v0.9.0。为了修复错误,我切换到主分支,但现在在运行mix compile时出现此警告: warning: using do...end in views is deprecated, please use the new YourApp.Web definitions web/view.ex:6: Youli.View (module) 我想这样做。如何开始?本周末,当0.10发布时,我将起草一些升级指南,这将在这里有所帮助,但现在这将帮助您启动

如何在Elixir模块中定义常量?

在Ruby中,如果一个人在类中定义常量,他们将使用所有的caps来定义它们。例如: class MyClass MY_FAVORITE_NUMBER = 13 end 你用长生不老药怎么做?如果不存在这样的等价物,您如何解决Elixir中的幻数问题?您可以在变量名前面加上@: defmodule MyModule do @my_favorite_number 13 end 以下是Elixir模块可以具有关联元数据的部分。元数据中的每个项都称为属性,并通过其名称进行访问。您可以使用@n

Elixir Stream.into+;Stream.run是否与Enum.into相同?

Elixir允许您使用Streams而不是Enums来防止集合的中间副本。但当你走到最后一步时,这有关系吗 即使你知道了最细微的细节,这不是吗 Stream.concat(header, rows) |> CSV.encode |> Stream.into(output) |> Stream.run 和这个一样吗 Stream.concat(header, rows) |> CSV.encode |> Enum.into(output) 如果是这样,为什么要提倡

Elixir 成功更新Repo.update后,异位重新加载属于关联

通过params中的parent\u id将给定的child的关联从parent\u a更改为parent\u b,会留下一条过时的记录。parent对象 e、 g.(假设参数匹配%{child:%{id:'1',parent_id:'6'}) 更新后检索新关联的父记录的正确方法是什么?目前在EXTO中没有内置的方法。您还存在无法使用预加载的问题,因为关联已预加载 一个选择是: %{child | parent: Repo.get!(Parent, child.parent_id)} 您还可以

Elixir 在ExUnit中使用模块属性而不是上下文

我知道在Elixir中,如果您希望干燥测试并在它们之间共享数据,建议设置上下文() 这种方法的问题是,您不能在模式匹配中直接使用上下文[:key](您将得到编译错误无法调用远程函数Access.get/2 in match)。因此,每次要使用上下文变量进行模式匹配时,仍然需要额外的步骤将context[:key]分配给变量(不太枯燥) 在测试之间共享数据的另一个选项是模块属性()。您只需定义一个@key,并在测试中将其用作@key(并且在编译时@key将替换为您指定的) 我想知道使用它们是否是一

Phoenix Framework(Elixir)-将JS文件加载到资产管道中

因此,我开始使用Phoenix,但当我尝试将控制器移动到web/static/js/controllers下的单独文件时,它们没有被加载。我猜这和早午餐有关,但我不确定。。。有什么想法吗 谢谢 我以前也有过这个问题。我相信这和早午餐有关是的。你试过运行《凤凰社文摘》吗 如果我没记错的话,如果你将文件移动到priv/static,它应该可以工作(而不是放在Web目录中),但我认为这不是正确的方法。嗯,我找到了一个解决方案,但它不是很优雅。。。。在app.js中,您可以 从“./controller

如何在Phoenix/Elixir中读取配置变量?

我想在my/config/config.exs文件中设置我的应用程序的标题: config :my, My.Endpoint, url: [host: "localhost"], root: Path.dirname(__DIR__), secret_key_base: "secret", title: "My App" 我以后如何阅读标题,以便在模板中使用它?比如: <div> Title of my app is <%= ??? %> </

Elixir-修改匿名函数外部的值

首先,我绝对肯定我走错了路,因为我仍然在学习来自Ruby的长生不老药 我从youtube上获得了一个搜索结果列表,并试图提取浏览量最多的视频 # html is the contents of the search results page metas = html |> Floki.find(".yt-lockup-meta-info > li") counter = -1 index = -1 high_views = 0 Enum.each(metas, fn(li) -&

Elixir 如何应对分组报警?

有两个def组,当我编写@spec时,会用警告对其进行警告:相同def的子句应分组在一起,def foo/2以前定义过。有什么解决办法吗 虽然警告很有用,但我想让它忽略@spec @spec foo(:id, integer) :: {:not_found} | {:ok, String.t} def foo(:id, id) do # some logic end @spec foo(:email, String.t) :: {:not_found} | {:ok, String.t}

elixir中以@开头的映射键文字

我正在编写一些Elixir代码,用于发出HTTP POST请求,其中正文是一个包含选项的JSON文档。其中一个属性以@符号开头 不可能: json = %{ q: "foobar", @timestamp: 1234567890 } |> Poison.encode! 编写以@开头的映射键文字的正确方法是什么?如果希望将其视为原子,可以执行以下操作: %{ :q => "foobar", :"@timestamp" => 1234567890 } 这也是有效的: json

Elixir 如何使GenServer以特定速率处理消息?(每n秒)

我的一个服务与速率受限的外部API进行通信,因此我希望确保每10秒发送的调用不超过1个 我的天真做法是拥有一个长期运行的API服务,并在每次调用后超时: def handle_cast({:call_api, data}, state) do send_to_external_api(data) :timer.sleep(10000) {:noreply, state} end 我不确定是否有合适的方法来执行此操作。编辑:原始解决方案按照建议在10秒之间删除消息。编辑提供了更合适的

Elixir 作为参数的映射列表

我创建了一个架构,如下所示: schema "countries" do field :code, :string field :en, :string field :de, :string field :it, :string field :fr, :string timestamps end 现在,我想创建一个变更集函数,该函数将接受映射列表。我如何定义它?这是对的(我会说是错的): def变更集_所有(型号,[])都可以 那么,如

Elixir-Exto:有人能举一个Exto.Multi.run/5的例子吗

国家 类似于run/3,但允许传递模块名称、函数和 论据。函数应该返回{:ok,value}或{:error, value},并将接收到第一个参数的更改 (预先指定给在函数调用中传递的对象) 但我不知道怎么用这个。假设我想在exto.Multi中运行这个函数: def some_fun(value, other_value) do case value do nil -> {:error, other_value} _ -> {:ok, other_value}

Elixir 如何在Phoenix框架中为表单创建嵌套输入_?

如何使用phoenix.html创建3层+关联的嵌套表单? 差不多 待办事项列表中有多个待办事项在一个表单中有多个待办事项注释 与此相同的例子是TodoList,有许多TodoItems ,但我正试图与TodoItems建立更多的关系。TodoItems有很多条评论 TodoList型号: defmodule MyApp.TodoList do use MyApp.Web, :model schema "todo_lists" do field :title, :string

Elixir 自定义二进制代码

我有一个EXTO模型,我想用elixir函数生成的自定义二进制id存储在数据库中。这可能吗 我的id函数如下所示: def gen_id String.upcase to_string Enum.take_random('abcdefghjkmnpqrstuvwxyz123456789', 8) end schema "orders" do belongs_to :type, Invoicer.Customer @primary_key {:id, :binary_id

Elixir GenStage批处理事件

如果生产商返回: events = [1,2,3] {:noreply, events, state} 每个列表项是一个事件,还是列表本身就是一个事件 如果是前一种情况:当配置了每个消费者请求的值,并且流程由genserver内部处理时,消费者将自动接收事件数 或者如果是后者:由制作人发送正确数量的事件 我相信这些文件和例子都指向了第一个案例 列表中有一些项目是事件。显式键入以返回列表作为第二个参数;如果它是事件本身,那么任何东西都支持作为返回值 其中有四个非常清楚的例子基本上可以回答所有这样

退出Elixir中的递归函数

在理解递归方面,我当然需要做一些补充。我有这个 def query_url(id,page_number) do returned_response = HTTPoison.get! "https://some_web_page/#{id}/? pageNumber=#{page_number}" case returned_response.status_code do 200 -> {:ok,returned_response.body} _ ->

Elixir 多态性在外胚层中有很多

我已经读了很多,我同意这样的观点,即在表之间有一个本地数据库引用是有利的 然而,大多数时候多态的所属的被引用,而不是相反(有很多)。我仍然不知道如何正确处理它 在我的例子中,它是关于Phoenix后端API的,我有一个页面模型,它有许多小部件。每个小部件都有自己的表和模型,因为它需要存储和返回不同的字段。假设我们有一个TwoColumnWidget和一个ThreeColumnWidget,它们都有一个page\u id到page模型的引用 理想情况下,我应该如何建模呢?现在我有一个中间的小部件模

Elixir Rescue Phoenix.MissingParamError并为用户返回json

我在Phoenix应用程序中的一个控制器中执行以下操作: plug :scrub_params, "account" plug :scrub_params, "studio" def create(conn, %{"account" => account_params, "studio" => studio_params}) do end 当有人没有发送正确的参数时,应用程序将返回Phoenix.MissingParamError错

Elixir 理解长生不老药中的保护条款

我想在长生不老药中实现一个保护条款 这就是我想做的: def fib(n) when n < 1, do: n 就我个人而言,我似乎无法理解这里的问题。从您提供的代码来看,似乎您有一个只有一个函数的模块—此处显示的函数。我想你有这样的东西: defmodule MyModule do def fib(n) when n < 1, do: n end 这将失败。这是因为当n

Elixir 控制器中的凤凰模式匹配

我想在我的控制器中有两个索引函数,一个是带有id的调用,另一个是带有搜索查询字符串的id。由于某些原因,从未调用第二个函数 curl localhost:4000/something/15 curl localhost:4000/something/15?search=bob def index(conn, %{"id" => id}) do end def index(conn, %{"id" => id}, "search" => search }) do end 因

Elixir 如何/在何处预加载在Phoenix 1.3中有许多关系数据

我正在学习Elixir/Phoenix的一个示例项目,从Phoenix 1.2开始。 现在,我用Phoenix 1.3重新创建了该项目,以查看/学习差异并修改我的旧代码 在那里,我有一个模型位置和技能之间的关系。而在position\u controller.ex中的1.2代码中,我使用了 case Repo.insert(变更集)do {:好的,位置}-> 位置=位置|>回购预加载(:技能) ... 为了让技能预加载以进行渲染,我不确定在我的1.3代码中放在哪里 控制器现在似乎放错了位置(R

Elixir Phoenix:上下文中的模式匹配参数(原子和字符串)

我有以下函数定义,我试图找到一种方法来简化参数,使它们都是统一的 def update_user(%user{}=user,%%{password:{}=attrs)do attrs=Map.put(attrs,:密码\重置\令牌,无) 更新用户(用户、属性和用户密码\u变更集/2) 结束 def update_user(%user{}=user,%%{password_reset_token:{}=ATTR),执行以下操作: 更新\u用户(用户、属性和用户密码\u重置\u更改集/2) def

Elixir 如何制作未排序的地图集?

是否可以创建未排序的地图集 工作原理: iex(1)> MapSet.new([2,3,2,1]) #MapSet<[1, 2, 3]> iex(1)>MapSet.new([2,3,2,1]) #地图集 如何预期: iex(1)> MapSet.new([2,3,2,1]) #MapSet<[2, 3, 1]> iex(1)>MapSet.new([2,3,2,1]) #地图集 地图集完全没有排序。您可能会看到这些值按小地图排序,但这是Erlang如何

Elixir 生成.ex文件时省略引号

我目前正试图从template.exs生成文件api.ex。 我有一个返回字符串值“name”的函数,但我希望它只作为name 我已经试过了: String.replace(~s(“name”)、~s(“)、”) 返回带引号的字符串的代码是: 拐点.下划线|>删除引号%>问题在于函数调用和管道的优先级 inspect x |>f与inspect(x |>f)相同,而不是inspect(x)|>f 这应该起作用: <%= inspect(type) |> Inflex.undersco

ngram的Elixir实现

我想开发一个非常小的脚本,它读取一个句子,并在控制台中生成一个n-gram图形的输出 这是一个例子 Example "Show me the code." Returns [ "Show", "Show me", "Show me the", "Show me the code", "me", "me the", "me the code", "the", "the code", "code" ] 这是我的代码: defmodule M do def

Elixir 当日期位于DST的不同侧面时,使用Timezone.convert

日期以UTC传递到后端,我想将时间转换为给定的TZ。我遇到了一个bug,因为3月10日UTC的DST与我的测试TZ(美国/洛杉矶)不同 我知道这是因为DST,但在给定时间,LA存在于其他日期时间中,这就是我要寻找的,我如何获得该日期时间?如何 {:ok,date,{}=DateTime.from_iso8601(“2019-03-10 02:25:19.464342Z”) unix=日期时间。到unix(日期) timezone=Timex.timezone.resolve(“美国/洛杉矶”,u

Elixir 在窗户上。我在microsoft vs 8中找不到nmake.exe

无法编译依赖项:bcrypt_elixir,“混合编译”失败。您可以使用“mix deps.compile bcrypt_elixir”重新编译此依赖项,使用“mix deps.update bcrypt_elixir”更新它,或使用“mix deps.clean bcrypt_elixir”清除它 (Mix)“nmake”未在路径中找到。如果已设置MAKE环境变量, 请确保它是正确的 请阅读要求。您需要安装Visual Studio才能使用。对于较旧的VS版本,如VS2008,您可以 但是,您

Elixir:将混合项目配置为始终将列表打印为列表?

在测试我的Phoenix应用程序时,我经常遇到这样的情况:我将预期记录ID列表与实际记录ID列表进行比较。由于Elixir一直将整数列表打印为字符列表,因此错误的解释非常繁琐,因此我的测试输出如下所示: Assertion with == failed code: assert H.sort(Enum.map(list1, &(&1.id()))) == H.sort(Enum.map(list2, &(&1.id()))) lef

上一页 1 2 ...  30   31   32   33    34   35   36  ... 下一页 最后一页 共 125 页