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 编写适用于位字符串或列表的库

我正在从事一个涉及大量字节级操作的项目。我希望库能够接受二进制文件作为输入,但使用Enum上的函数通常很方便。我最终得到了很多函数,它们有两个受保护的定义,一个用于when is_binary,另一个用于when is_list: @doc”“” 将二进制或字节列表转换为十六进制字符串表示形式, ##例子 iex>Bytes.to_hex “010203fdfeff” iex>Bytes.to_hex[1,2,3255] “010203fdfeff” """ def到_十六进制(字节)何时是_二

未为-Elixir实现协议枚举

我遵循这个教程 当我要将列表更改为Struct时,我不太确定我在做什么,这对我来说真的很陌生。它不起作用了,继续 协议枚举未实现 我的控制器 defmodule Blog.PageController do use Blog.Web, :controller def index(conn, _params) do media_dir = "./priv/static/media/" filetype = [".mp4", ".png"]

Elixir 炼金术士上的Iex,不能键入大写“;";

刚开始和炼金术士一起使用太空计算机。我目前正在处理一个文件名为times.exs的长生不老药文件(来自编程长生不老药手册)。该模块名为Times 当我在《炼金术士》上使用Iex时,我发现我无法在Iex开头键入大写字母“T”。似乎它的绑定邪恶找到字符向后,我如何改变它的绑定 谢谢。我投票赞成“结束:不清楚你在问什么”,因为我既不能分析问题,也不能分析问题发生的情况。请考虑在一个好的措辞中投入更多的时间。这是通过向DVS创建一个拉请求来解决的。

有没有可能为Elixir定制一个混合文件?

在我涉及Elixir的项目中,我经常有一些东西要添加到我的mix.exs文件中,例如添加我自己的ENV等。添加这些项目并将它们添加到我的.gitignore通常是一件痛苦的事情。我的问题是,是否可以有类似于custom_mix.exs的东西,我可以从mix调用它,在那里我可以输入所有自定义设置,这些设置将覆盖mix.exs中定义的设置?custom\u mix.exs文件不会放在git下,可以永久放在下。gitignore和mix.exs如果没有找到custom\u mix.exs,则不会出错

Elixir 如何在两个不同的列中向同一个表添加所属内容?

我有一个users表和tasks表,我想为task表创建一个模式,它有from_id和to_id belongs_to(:user, TaskTracker2.Accounts.User, foreign_key: :from_id) belongs_to(:user, TaskTracker2.Accounts.User, foreign_key: :to_id) 但是它会引起一个论点错误,如何正确地进行呢? 谢谢。第一个参数中需要一个唯一的值。差不多 belongs_to(:user_fr

Elixir 我应该在更新EXTO中的现有数据时使用变更集吗?

我在变更集管道中有加密令牌的函数 def changeset(user, params \\ %{}) do user |> cast(params, [:id, :token] |> encrypt(:token) end 因为这个函数是新的,所以旧数据仍然没有加密,我需要手动进行加密。然后我遇到了问题 如果我将原始的标记传递给变更集,它会将该值视为没有更改。管道中的加密无效,且值未更新 如果我加密了令牌并将其传递给变更集,它将标记为变更,并应用加密函数。但是,它加密

Elixir有垃圾收集器吗?

我已经开始阅读关于Elixir编程语言的书籍 我明白: 它是功能性的 它是动态的,但支持@spec 它基于ErlangVM 我的问题是:它有一种GC吗?是的,Erlang有GC,因为Elixir是在Erlang上构建的,所以它也有GC。请参阅这篇关于Erlang GC和一的老文章。Elixir现场指GC,如下所示: 由于其重量轻的特点,拥有数百个 在同一台计算机上同时运行的数千个进程的集合。 隔离允许独立地对进程进行垃圾收集, 减少系统范围内的暂停,并尽可能使用所有机器资源 尽可能高效(垂直缩放

如何在Elixir字符串中显示单个反斜杠

有人能告诉我如何在Elixir中的SQL语句中添加一个反斜杠吗 iex(1)>sql=“从用户限制1中选择* “从用户限制1 G中选择*” iex(2)>sql=“从用户限制1\\G中选择* “从用户限制1\\G中选择*” 我只需要在sql语句中使用“\G” $elixir-v Elixir 1.1.0-dev 事实上,我想使用mariaex库,但我仍然无法让它工作 defmodule Customer do def main(args) do sql = "

Elixir 含长生不老药的步骤列表

有人能提供一个建议,如何迭代一个列表,但每次使用一批x吗 例如: 如果功能存在: ["1","2","3","4","5","6","7","8","9","10"].step(5)|> IO.puts 将在两次迭代中产生: 12345 678910 我相信Stream.iterate/2是一个解决方案,但我在给定数组的情况下这样做的尝试证明是无利可图的。(or)会将列表分解为x元素的子列表: iex> [1,2,3,4,5,6,7,8,9,10] |> Enum.chunk

Elixir 为什么可以';我不能换链子吗?

我正在开发一个价格格式函数,它接受一个浮动,并正确地表示它 例190.5,应为190,50 这就是我想到的 def format_price(price) do price |> to_string |> String.replace ".", "," |> String.replace ~r/,(\d)$/, ",\\1 0" |> String.replace " ", "" end 如果我运行以下命令 format_

Elixir 凤凰:使用;康涅狄格州;及;案例;看来

我有一些客户端静态jQuery代码,我想用服务器动态代码替换它们,这些代码用于我网站的每个页面,并且取决于我所在的页面(请求的路径)。 我现有的jQuery代码(在模板html.eex文件中)是: 因此,我想将“.page1”、“.page2”、…“.pageN”替换为一个变量,该变量使用放置在模板中,并在我的布局视图中定义,以便可以在与该布局相关的每个页面上访问它。所以我试了一下: defmodule myApp.LayoutView do use myApp.Web, :view

如何在Elixir中将整数列表作为16位值写入文件

我有一个值在[0-65535]之间的整数列表。 我需要将它们作为16位整数写入文件 我用长生不老药怎么做 我已经搜索过了,但是我对int和二进制文件以及如何对16位值执行转换感到困惑 我发现了如何转换为16位二进制: <<12345 :: size(16)>> 以下是我是如何做到的: {:ok, file} = File.open(filename, [:write]) [1, 2, 3] |> Enum.each(fn(x) -> IO.binwrit

Elixir 使用选项进行系统调用

我知道我可以做一些简单的事情,比如System.cmd(“echo”,[“hello”]),但是假设我想做一些事情,比如运行Ruby进程 通常在shell中,我可以这样做:ruby-e'放置“helloworld” 我尝试了一些类似的变化: System.cmd(“ruby”、[“-e”、“-put\'hello world\'”)运气不好 我可以调用Erlangos模块,但这似乎并不理想,因为我需要显式地将字符串拆分为字符,并对其进行重铸,以及找出除了结果之外如何捕获退出代码 System.c

Elixir 如何从EXTO中的两个表中选择数据

我试图编写一个EXTO查询,它将同时从两个表中选择数据。像从table1t1,table2t2中选择t1.*,t2.*,其中t1.id=1和t2.id=2我找不到解决方案,找到了编写原始SQL的唯一方法,看起来不太好 类似于variant-使用预加载,但它需要生成额外的查询 comments_query = from c in Comment, order_by: c.published_at Repo.all from p in Post, preload: [comments: ^comme

Elixir 启动ExIrc supervisor失败

我正在修补ExIrc以制作一个简单的机器人,但我无法让它工作 我得到了这个错误: ** (Mix) Could not start application streamingutils: TwitchSniper.start(:normal, []) returned an error: shutdown: failed to start child: TwitchSniper.Bot ** (EXIT) an exception was raised: ** (Arg

Elixir 如何在渲染中引发异常

我的控制器中有以下异常处理程序 def call(conn, opts) do try do super(conn, opts) rescue e in Ecto.CastError -> conn |> put_status(:not_found) |> render(ErrorView, "404.html") e in ArgumentError -> conn |>

Elixir管道无效语法

我很难理解为什么会这样: 1..1000 |> Stream.map(&(3 * &1)) |> Enum.sum 但这并不意味着: 1..1000 |> Stream.map (&(3 * &1)) |> Enum.sum 唯一的区别是.map 据我所知,长生不老药在这种情况下不应该关心空白 在iex中运行上述代码会产生以下错误: warning: you are piping into a function call without

Elixir Exto验证所需*更改*而不是字段

我有一个带有变更集的Ecto模型,该变更集将更改模型中的状态属性: def next_state_changeset(model, params) do model |> cast(params, ~w(state)) |> validate_required(:state) end 但是,如果提交的状态与模型中的状态相同(状态没有变化),我希望拒绝变更集 但是如果没有提交状态,这段代码仍然会返回一个有效的变更集,因为如果变更集中不存在该变更集,那么它在模型中仍然

Elixir 如何在长生不老药中使用defdelegate?

有人能为defdelegate提供一个简单的例子吗。我找不到,这让我很难理解 defmodule Dummy do def hello, do: "hello from dummy" end 对于以下内容,我得到未定义函数世界/0: defmodule Other do defdelegate hello, to: Dummy, as: world end 我想将Other.world委托给Dummy.hello两件事: 你的名字和的名称:错了as:应包含目标模块中函数的名称,第一个

Elixir 在长生不老药中使用drop_?

长生不老药的文献状态 drop_while(enumerable, fun) Drops items at the beginning of the enumerable while fun returns a truthy value 但我对下面的输出感到困惑。这是否意味着一旦它得到!truthy其他一切都被视为虚假 iex> Enum.drop_while([0,1,2,3,4,5], fn(x) -> rem(x,2) == 0 end) [1,2,3,4,5] 我希

Elixir 字符串字段包含其他字符串的EXTO查询

我正在构建一个简单的搜索功能,我想在字符串字段中查找所有包含字符串的记录 以下是我所尝试的 term = "Moby" MyApp.Book |> where([p], String.contains?(p, term)) |> order_by(desc: :inserted_at) 这将返回以下书籍: 白鲸 桑迪奇·莫比·莱恩 我的Mobyand例子 但我得到: `String.contains?(p, term)` is not a valid query expressio

Elixir 繁殖/1和繁殖/3之间的差异

我相信我在某个地方读到过,当涉及到热重新加载时,使用spawn/1和spawn/3是有区别的,但我找不到关于这个主题的任何完整信息。所以我想知道是否真的有区别,如果有,那是什么?举个例子就好了。谢谢。两者的区别在于spawn/1进行本地函数调用,而spawn/3进行“完全限定”函数调用 当您加载模块的新版本时,旧版本仍然保留,并且在旧版本中执行的任何进程都会继续这样做。例外情况是,如果进程执行“完全限定”的函数调用,包括模块名称:在这种情况下,始终使用最新版本的代码 例如,使用此模块: defm

Elixir 展平/合并嵌套贴图

假设我们有类似于地图的: %{"a": %{"b": 2, "c":5}, "d": 1} 在elixr中是否有类似于(js对同一问题的回答)的东西 最终结果应该是: %{"a.b": 4, "a.c":5, "d": 1} 我不知道内置函数,但当然有一些方法可以执行该转换: defmodule MyMaps do def flatten(map) when is_map(map) do map |> to_list_of_tuples |> Enum

如何在elixir中写入RAM中的文件?

因此,如果我用Elixir在RAM内存中打开一个文件(见下面的代码2),我如何在RAM中写入该文件,然后在写入完成后检索其内容?模式匹配返回“#端口”,这与文件句柄PID不同,显然与IO.write#端口不同,“hello”返回错误,例如: 代码1 ** (CaseClauseError) no case clause matching: {#Port<0.11114>} (elixir) lib/io.ex:495: IO.write/2 **(CaseClauseErr

Elixir EXTO:在多对多查询中包含联接模式字段

我与一个显式连接模式有一个多对多的关联,该模式在两端引用相同的模型(有点像经典的Follower(是用户)Followee(是用户)东西) 如果我查询某个用户的追随者,我希望包括该用户跟随该用户的时间。这些数据显然位于连接模式上(我们称之为订阅) 如果我只是想要追随者,我会这样做: followers = User |> Repo.get!(user_id) |> assoc(:followers) |> Repo.all() 要使其正常工作,我应该在用户上定义: many_

Elixir 什么';在多个子句中是否需要函数头?

我是Elixir的新手,坦率地说,我不明白当我们有多个带有默认值的子句时为什么需要函数头。从官方文件: 如果具有默认值的函数具有多个子句,则该子句是必需的 创建用于声明的函数头(无实际主体) 默认值: defmodule Concat do def join(a, b \\ nil, sep \\ " ") def join(a, b, _sep) when is_nil(b) do a end def join(a, b, sep) do a <>

Elixir发电量缩放取决于负载

我正在尝试构建以下管道: [A]->[B]->[C] A从数据库中获取时间戳早于一天的条目 B使用外部节点执行一些繁重的任务 C将计算结果存储回数据库 每个B节点可以并发执行多个任务,我们可以在节点spawn上设置并发级别 我想要的是根据DB中等待的任务数量,根据需要生成尽可能多的B节点 GenStage是否适合该任务,或者更好地使用队列和一堆相互通信的Genserver构建一些东西?如何处理?自定义调度程序,它不仅分发任务,而且生成B节点 我希望根据DB中等待的任务数量,根据需要生成尽可能多的

Elixir 如何在Phoenix.Socket.Broadcast有效负载中测试或序列化结构?

如何在通道测试中自动将EXTO结构序列化为json响应?正如我在中所看到的,事件的消息必须是一个可序列化的映射,我在中发现,当我在模型中使用毒药时,编码器,那么任何通过传输(据我所知)层传递的消息都应该被编码 示例模型: use PhoenixTrello.Web, :model # ... @derive {Poison.Encoder, only: [:id, :first_name, :last_name, :email]} # ... end 从一个频道功能进行广播:

Elixir phoenix mix版本中的复制模块

我正在尝试运行mix-release任务来创建生产phoenix服务器 我对毒药有问题,因此添加了来自的解决方法。但是,现在当我运行发布任务时,出现以下错误: Errors generating release Duplicated modules: 'Elixir.Poison.Encoder.Any' specified in poison and myappname 我尝试根据中的说明在lib/myappname.ex中添加以下行。但没有任何效果 defmodul

Elixir 长生不老药;Phoenix-GET/users/new时出现ArgumentError

我试图在Elixir上用Phoenix web框架实现用户身份验证,但被这个错误难住了 如果在iex中运行changeset=Blog.User.changeset(%Blog.User{}) ** (ArgumentError) unknown field "email" for changeset on %Blog.User{__meta__: #Ecto.Schema.Metadata<:built, "users">, email: nil, id: nil, inser

Elixir phoenix应用程序使用gatling and Diverery部署到VPS的部署问题

我在我的VPS上使用下面的命令来部署我最近组装的一个应用程序 sudo -E mix gatling.deploy kegcopr_api 但是,在尝试将应用程序作为服务启动时,部署会出错 $ mix release --warnings-as-errors --env=prod (/home/deploy/kegcopr_api) ==> Assembling release.. ==> Building release kegcopr_api:0.0.1 using envir

Elixir 无法加载Erlang包

我试图在我的Phoenix项目中使用Erlang包(这个:),所以我只是想从我的mix文件中获取它: defp deps do [{:phoenix, "~> 1.3.0-rc"}, {:phoenix_pubsub, "~> 1.0"}, {:phoenix_ecto, "~> 3.2"}, {:postgrex, ">= 0.0.0"}, {:gettext, "~> 0.11"}, {:cowboy

Elixir 基于另一个嵌套贴图迭代更新贴图

《长生不老药》中的不变性真的让我大吃一惊,让语言使用起来如此混乱。我需要迭代一个嵌套映射,并根据迭代简单地更新一些计数,但是Enum.reduce只会让我感到困难。假设我有: defmodule Predictor do def past_matches() do [ team1: %{team2: %{f: 0, a: 1}, team3: %{f: 1, a: 3}}, team2: %{team1: %{f: 3, a: 0}, team3: %{

Elixir中的代码重用机制是什么?

试图理解Elixir中的代码重用机制以及它们何时适用。例如,我们在Ruby中有继承、混合和元编程(有助于减少样板文件) Elixir宏允许您在编译时生成代码 use关键字调用给定模块中的\uuuuuuuuuu-using宏 例如,use GenServer为将实现genu服务器行为的模块定义所有必需的回调 宏通常仅在构建框架时才需要。常规应用程序代码通常可以由模块和函数组成。这涵盖了很多内容。您可能想在本书中阅读,也可以使用import语句从其他Mudule导入函数。

Elixir 理解长生不老药中的褶皱

我在浏览elixir文档时发现了以下代码: List.foldl([1, 2, 3, 4], 0, fn(x, acc) -> x - acc end) # 2 我尝试了一段时间来理解它在做什么,但就我而言,我不明白为什么它会返回2?如果有人能抽出时间向我解释这一点,我将不胜感激 我完全理解第二个arg是一个累加器。设置为0时,该值不应该返回10吗?累加器的初始值是0,您正在为列表中的每个x执行x-acc。评估如下: x - acc = new_acc -----------------

Elixir 创建回调或类似回调后的异位

在创建数据库之后,即在exto.create之后,是否有在exto中运行的回调 我正在使用Cassandra和Exto,我需要更改一些键空间选项。最好的地方是创建后再创建 虽然可以在迁移中执行,最好是在第一次迁移中,但是在创建后使用回调会使意图更加明确 在迁移中完成它有什么问题?没有回调可以做到这一点。问题在于意图。假设我想在创建数据库之后做一些事情,这对整个数据库是至关重要的。可以使用迁移,但它会让事情变得不那么明显。既然我们已经有了连接后的回调,我想这也应该存在。甚至可能是在_drop之后。

如何完全禁用Elixir/Phoenix生成器和模型中的上下文?

菲尼克斯有一台发电机: mix phx.gen.html Accounts User users name:string age:integer 我不想为我的模型使用上下文,也不想提供它的名称。如何禁用它?我相信您希望使用--无上下文标志 您仍然可以像1.2及更早版本一样使用旧的生成器 mix phoenix.gen.html User users name:string age:integer 注意:使用phoenix.gen.html而不是phx.gen.html。更多信息请访问 1

Elixir 长生不老药/凤凰外星如何判断回归状态?

给定代码 def getbno() do query = from u in GodowentryForAcceptance, select: max(u.bno) Repo.one(query) end 我想判断返回条件,例如 case GodownentryForAcceptanceService.getbno() do empty-> do something notempty -> dosomething end 什么是空/不空?根据文档,如果没有

Elixir 如何在一定时间后重新启动崩溃的受监控进程?

我有一个简单的基于GenServer的应用程序,可以解析网页并播放从中获得的数据。代码大致如下所示: def start_link do GenServer.start_link(__MODULE__, %{}) end def init(state) do schedule_work(1) {:ok, state} end def handle_info(:work, state) do // Request webpage using HTTPoisson // Pa

执行elixir应用程序自动版本控制的最佳方法

我正在为phoenix应用程序使用蒸馏器进行热代码升级。我使用它来创建应用程序的版本 def project do {result, _exit_code} = System.cmd("git", ["rev-parse", "HEAD"]) git_sha = String.slice(result, 0, 7) [app: :evercam_media, version: "1.0.1-a#{git_sha}", elixir: "~>

Elixir 如何在phoenix框架中使用scrivener删除表单请求后重定向回当前页面

我在phoenix框架中使用scrivener_-Exto和scrivener_html。 我有一个联系人名单,里面有300个联系人。 当我在第6页中单击“删除联系人”时,在提交删除后,我重定向到联系人列表的第一页。 删除后,我想留在当前页面(如第6页)。我该怎么做 我试图从删除控制器获取参数信息,但它没有我尝试的页面信息(查询参数) 但它返回“” 这里是person\u controller.ex中的删除操作 def action(conn, _) do user = conn.a

Elixir 如何使用Enum而不是If语句有条件地减少变更集

我正在用一堆可选字段对变更集进行加密,但在尝试加密之前,我正在使用大量If语句查看变更集是否包含字段 我感觉有一个Enum函数(比如reduce)可以用一种惯用的更为灵丹妙药的方式来实现这一点,但我所想到的没有一个比大量丑陋的If语句更有效 def encrypt(changeset) do if changeset.changes["address"] do {:ok, encrypted_address} = EncryptedField.dump(changeset.

Elixir 如何将Where子句子查询转换为EXTO联接?

我目前有两个表有很多关系: customers [hasMany] items 在项目中有一些关系: providers [belongsTo] items statuses [belongsTo] items types [belongsTo] items 我的目标是使用一个EXTO查询,返回至少有一个项目记录且状态id为2的客户的列表,以及该客户的任何其他项目 我还需要预加载项目,提供者,状态和类型 我在SQL中复制了以下内容: SELECT distinct on (c0.id)

如何将测试结果发送到elixir上的其他位置

当我运行混合测试时,我会将所有结果返回到shell中。 如何将结果发送到更多位置,如slack、文件等?要将混合测试的结果写入文件,可以执行以下操作: mix test > results.txt 要在Slack上发布它们,您可以使用它们的web API,您可以在这里找到:我在中找到了我的问题的答案。 要为ExUnit结果配置您自己的配置,我需要实现我自己的格式化程序(例如,请参见;这是默认格式化程序),并配置ExUnit以使用它: ExUnit.start(格式化程序:[YourFor

Elixir 长生不老药&x27;s与函数名一起使用

最近我偶然发现了这个代码 defmodule MyAppWeb.PageLive do use MyAppWeb, :live_view 这是Phoenix Live View生成的默认应用程序的一部分(mix phx.new--Live)。 这是我第一次看到使用构造并将函数名作为第二个参数。 我试着在网上搜索一些关于它的文档,但是找不到一个合适的名字 你能帮我理解执行时会发生什么吗 它不使用宏调用\uuuuu,而是调用函数,我不确定是否可以在那里传递一些选项,或者我需要使用“正常”方式(

为什么在Elixir中访问元组的大小很快?

我在很多地方读过,在Elixir中查找元组的大小非常快,因为元组存储在连续的内存单元中。但是,for列表的开销更大,因为需要遍历整个列表才能知道列表的长度 我不明白,在连续的内存单元中,如何更快地找出元组的大小。你不需要检查每个单元格吗?存储元组大小。列表的长度不是 元组也是一个装箱值,因此它由一个指向ARITYVAL头(1个单词)的装箱指针(1个单词)组成,该指针后面显示元组的元素。 ARITYVAL头的arity部分是一个26位(在32位系统上)整数值,包含元组中的元素数 — https:/

上一页 1 2 ...  40   41   42   43    44   45   46  ... 下一页 最后一页 共 125 页