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 简单长生不老药/混合物项目的问题

我正在学习长生不老药,并试图编写一个简单的长生不老药hello world示例,但我在“混合运行”时一直遇到这个错误 我做错了什么?这是我的代码减去mix.exs和其他非关键文件 defmodule Collector do use Application def start(_type, _args) do Collector.Supervisor.start_link end end 我只想在控制台中运行“mix run”时转储“Hello World”,我不知道

Elixir 编译EXTO时,混合编译失败

长生不老药: 在尝试编译Exto的依赖项时,我在Mix和poolboy中遇到了以下错误: >mix compile **(混合)应用程序池男孩指定了非语义版本“cat版本”。Mix只能将要求~>1.2.1与语义版本匹配,若要与任何版本匹配,请使用正则表达式作为要求 我使用的是Windows 8.1 这是我的混音部: 注意:我必须为postgrex使用“~>0.6.0”,否则它会抱怨依赖解析。(在EXTO文档中,它只是说使用“>=0.0.0”) 从编译错误消息来看,似乎mix没有正确处理某

Elixir 如何使用phoenix_html发布具有多个选择表单字段的ID集合

我正在尝试让multiple select与phoenix_html表单助手一起工作 <%= select f, :challenge_ids, ["foo": "1","bar": "2","baz": "3"], class: "form-control", multiple: "" %> 我还尝试将:challeng_id改为:challenge_id[]尝试为多选标记获取类似于rails输出的内容,但这没有任何区别Aaron的被合并到phoenix_html中。这里有一个

Elixir 如何将此SQL转换为EXTO查询?

如何将此SQL转换为EXTO查询 SELECT * FROM table_name WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 1 DAY) 不使用片段 这对我来说很有效,但我想知道是否有一种异位惯用的方法来进行这种查询 iex(22)> query = from n in Table, ...(22)> where: fragment("updatedAt > DATE_SUB(now(), INTE

Elixir 凤凰城+;渠道:如何确保双方;接受;?

苹果对视频聊天的部分要求是,双方在进入视频聊天之前必须明确按下“接受” 我有一个“接受”按钮,按下时调用此功能: 我的看法是: channel.on("match_accepted", payload => { if (payload.matched_client_email == matchedClientEmail) { this.setState({ clientQueued: true }); } }); acceptMatch() {

如何在Elixir中将代码点转换为整数

我是凤凰/长生不老药的新手,需要帮助 我尝试将一个exto.query的结果放在变量中,如下所示 owner = (from ex in "executors", where: ex.email == ^account_name, where: ex.pass_hash == ^pwd, select: ex.id ) |> Repo.all() 我需要'owner'是一个像ex.id一样的整数,但它像一个字符-'\a',M',等等 如何正确地从整数类型的查询中获取结果,或者如何将其从代

Elixir 外部变更集未验证

我正在试验EXTO,在验证changeset()函数中的数据时遇到问题 模式如下所示: defmodule Barakuda.TestData do use Ecto.Schema schema "test_data" do field :username, :string field :age, :integer end def changeset(data, params \\ %{}) do data |> Ecto.Changes

Elixir cond控制结构是否允许匹配多个案例?

是否有类似于Elixir cond语句的故障排除功能,允许我匹配多种情况?我想这样做是为了避免重复同一行代码。我还希望避免在if块中使用长链逻辑或| |析取语句。现在,我重复这样的代码: cond do top == nil -> eval(rest, [operator | output_queue], opstack) top == "(" -> eval(rest, [operator | output_queue], opstack) compare_to(ope

Elixir 在模板中显示结构的每个元素

我对长生不老药/凤凰非常陌生。我所要做的就是用查询结果呈现一个模板,并在视图中显示查询的所有记录。为此,我在模板中添加了以下代码: <% Enum.each(@items, fn(item) -> %>

限制用户从Elixir和phoenix web应用程序的变更集中删除

我们是否可以根据用户在Repo.delete中的电子邮件地址限制其从数据库中删除!(变更集)elixir和phoenix web开发中的条件 这就是我现在使用的代码。我想在删除过程中限制从数据库中删除两个用户:- def delete(连接、参数、当前管理员)do changeset=AdminUser.common_变更集(conn.assigns.admin_user,%{},whodoneit(当前_admin)) 删除!(变更集) msg=gettext(“%{name}已成功删除”,名

Elixir结构来自同一模块的默认值

不知道如何创建默认值来自同一模块内函数的结构。以下是我的例子: defmodule Poker.Deck do alias Poker.Deck.Card @values [:a, :"2", :"3", :"4", :"5", :"6", :"7", :"8", :"9", :"10", :j, :q, :k] @suits [:spades, :clubs, :diamonds, :hearts] def new do (for x <- @values, y

Elixir 唯一索引约束在Phoenix应用程序中不起作用

在我的Phoenix应用程序中,我的用户模型如下: defmodule MyApp.User do use MyApp.Web, :model schema "users" do field :username, :string, unique: true field :email, :string, unique: true field :crypted_password, :string field :password, :string, virtu

Elixir 用长生不老药打印流

我在玩长生不老药,我偶然发现了一些让我困惑的东西 我定义了这个匿名函数,它匹配以数字开头的字符串: digits = &(&1 =~ ~r/^\d/) 如果我尝试在流中使用此函数。拒绝/2,然后打印流的内容,我会得到一个错误: File.stream!("foobar") |> Stream.reject digits |> Enum.to_list ** (FunctionClauseError) no function clause matching in E

Elixir Phoenix电子邮件呈现css和布局

我刚刚写了封凤凰城的电子邮件。当我通过应用程序发送电子邮件时,外部css不会被呈现,而且mailer.html布局也没有被拾取 我下面做错什么了吗 def invitation_email(conn, to_email) do html = View.render_to_string(MailerView, "invitation.html", layout: {LayoutView, "mailer.html"}, conn: conn) send_email to: to

Elixir 为什么我需要'require'一个已经编译和加载的模块?

根据iex中的h require,require“需要编译和加载给定的模块”,“如果您想使用模块中的宏”,则需要 然而,似乎即使模块被编译和加载,我仍然需要调用require来调用它的宏。例如: # "require" the file in the sense of "go compile it right now" # Without doing this (or something equivilent, like `elixir -r macro_module.ex`), # a cal

Elixir Char列出了代码点原子

当我在iex上写下这些的时候 iex> 'hełło' 它向我展示了代码点 [104, 101, 322, 322, 111] 我知道,因为单引号字符串表示字符列表。但当我在iex中输入带有上述数字的列表时,它会显示一个带有数字的列表,而不是hełło iex(13)> [104, 101, 322, 322, 111] [104, 101, 322, 322, 111] 为什么不显示字符? 我打字的时候 iex(3)> a = [67,55,44] 进入ie

Elixir 凤凰城背景工作

我不熟悉凤凰和长生不老药。我想在聊天应用程序中添加一个后台作业,该作业应每分钟运行一次,从另一台服务器获取数据并将其广播到聊天室。 在凤凰城我怎么能做这样的事情呢?Jose Valim提供了一种实现后台工作的简单方法 对于广播,您可以使用Gazler在评论中指出的MyApp.Endpoint.broadcast()。定期运行后台作业的简单方法-广播-非常感谢。还有一个问题,我必须在代码中的何处开始一项工作,以及如何将套接字传递给它?您可以使用MyApp.Endpoint.broadcast(记录

Elixir 带有同时为主键和外键的字段的回显架构

我的数据库设计有两个实体:雇员和经理。 经理是一名雇员 我是这样定义employees and managers表的: create table(:employees) do end create table(:managers, primary_key: false) do add :id, references(:employees, on_delete: :delete_all), primary_key: true end 我不确定MyApp.Manager模块应该如

Elixir 有没有办法使:dbg在exrm版本中可用?

当我在我的开发环境中使用 iex -S mix phoenix.server 我可以使用:dbg.tracer查看我的代码。但是当我构建一个exrm版本并使用 bin/myapp console 当我尝试使用:dbg.tracer时,它告诉我“module:dbg不可用”。有没有办法使:dbg在exrm版本中可用?这将非常方便。看起来您的服务器没有安装erlang运行时工具,但是您的开发环境安装了。要在Debian中解决这个问题,可以运行sudoapt-get-install-erlang运

无法在Phoenix/Elixir中呈现没有布局的错误视图

我想渲染没有布局的错误视图: defmodule MyApp.ErrorView do use MyApp.Web, :view def render("404.html", assigns) do # renders my_404.html.eex template render(__MODULE__, "my_404.html") end 和行动: def my_action(conn) do if something_wrong do conn

Elixir 如何使用长生不老药为数据播种?

我试图将数据植入数据库,但它不起作用,因为我找不到一种方法来并行地迭代列表,就像下面的伪代码一样 for elem1, elem2, elem3 in list1, list2, list3 do Repo.insert{elem1, elem2, elem3} end 这是我的数据 @list_of_names ~w(Daniel Admin Goran Tomislav User1) @list_of_usernames ~w(daniel admin goran mare

Elixir 十进制和整数相乘会抛出“算术表达式中的错误参数”

在我的项目中,我必须通过将十进制价格乘以整数数量来计算产品的总价格。当我这么做的时候,我在算术表达式中得到了一个异常错误的参数。如何解决这个问题?如果必须对结果进行四舍五入,我不想丢失数据。Elixir不允许运算符重载,因此decimal包无法使*运算符在decimal上工作。该软件包确实提供了一个函数Decimal.mult/2来乘以十进制值,该函数接受2个十进制值,您可以使用它们。您需要首先使用Decimal.new/1将整数转换为十进制,然后使用Decimal.mult/2: Elixir

Elixir 有没有办法压缩..eex HTML模板用于生产?

我正在使用Phoenix呈现html。它进行得很顺利,但返回的HTML在prod环境中没有被压缩。我知道有gzip,但这是另一回事:我说的是删除注释、换行符等,而不是归档 是否有任何方法可以压缩编译步骤中可能从模板返回的html?要动态缩小文件,可以使用自定义插件:浏览器管道: 路由器 我无法快速谷歌现有的一个,也许你需要自己实现它 另一种可能是使用任何早午餐迷你食品e。G或者希望在生产中生成中间.eex文件。这样,您就可以将模板放在通用的phoenix tree e之外的某个地方。G在/web

你能在elixir中匹配一个非空数组吗?

我有一个用户模型,它与其他模型有很多关系。 我有一个搜索互联网的功能Search。我想做的是,仅当有很多关系不是空数组时才搜索internet 所以我想知道我是否可以对非空数组进行模式匹配?正如您在下面看到的,额外的搜索会导致嵌套分支,因此我使用with语句,希望找到一个干净的解决方案 query = from a in Model, where: a.id == ^id, preload: [:some_associations] with %{some_associations: some

Elixir Phoenix-管理多个数据库的迁移混合任务的问题

我已经设置了我的Phoenix应用程序,以便它连接到两个数据库。我在管理我的迁移和各种EXTOmix任务时遇到了一些问题,特别是创建新迁移和回滚迁移 首先,这里是config/dev.exs config :phoenix_backend, PhoenixBackend.Repo, adapter: Ecto.Adapters.Postgres, username: "postgres", password: "postgres", database: "phoe

Elixir 使用枚举生成选择HTML选项

假设map=%{1=>1,2=>2,3=>3} 我正在尝试为选择选项构建一个字符串,如: <option value=1> "One" </option> <option value=2> "Two" </option> <option value=3> "Three" </option> 如何实现这一点?代码的问题在于,函数采用两个参数,一个作为累加器,另一个作为枚举表中的元素,枚举表本身就是一个两元素元组 您试图

Elixir List Comprehension可创建新的结构列表

我对长生不老药很陌生,试图使用列表理解生成一个新的结构列表,就我的一生而言,我似乎无法做到这一点: holdings = ServiceX.update_holdings( fn() -> for n <- 1..3, do: n end, &(for n <- 1..100, do: %Holding { client_id: &1,

Elixir 如何使用Plug.Conn读取phoenix控制器中的小块数据

我的目标是能够在phoenix控制器中处理分块HTTP请求。我认为解决方法是使用Plug.Conn.read\u body,但是我遇到了一个错误或超时 目前我认为最好的解决方案是定制解析器 defmodule Plug.EventStreamParser do @behaviour Plug.Parsers alias Plug.Conn def parse(conn, "text", "event-stream", _headers, _opts) do Conn.rea

Elixir 比较2个结构并提取变化长生不老药凤凰

有两个结构,一个是Camera,另一个是changeset changes,我正在寻找一种方法来保存两个结构中的新旧值,例如 %Camera{__meta__: #Ecto.Schema.Metadata<:loaded, "cameras">, access_rights: [], alert_emails: nil, cloud_recordings: nil, config: %{"external_host" => "46.126.223.13", "externa

Elixir 用十进制标记格式化数字

如何设置如下数字的格式: 95263.51 带小数点(逗号): 95.263,51 甚至小数点(更常见): 95263.51?找到了解决方法, 使用包: iex>Number.different.Number_到_分隔(98765432.98,分隔符:“.”,分隔符:“,”) "98 765 432,98" 我将这个问题标记为适度关注。

如何获取Elixir项目的根目录

在长生不老药项目中,您可以使用 Path.expand 将文件或目录定义为当前文件的相对路径 例如:Path.expand(“../../../lib/file.ex”) 但是,从项目的根级别查找路径如何?如果要获取项目的根目录,请使用 File.cwd! 资料来源: (注意:我把这个放在这里只是为了不让它埋在Google auth wall后面的一个死气沉沉的论坛里&受Google数据保存政策的约束)实际上,这不是项目的根目录。这是当前的工作目录(可能会有所不同)@Motine你看过论坛讨

Elixir 来自_中嵌套的use语句的别名,使用__

假设我有一个模块App.a,它有以下代码 defmodule App.A do defmacro __using__(_) do quote do alias App.B end end end 因此,当使用时,它会自动为App.B添加别名 现在,还有另一个模块名为App.C,定义如下: defmodule App.C do defmacro __using__(_) do quote do use App.A def

Elixir 如何通过iex显示命名函数中的TypeSpec

您可以通过iex上的module thorugh t命令显示类型规格,即: iex(1)> t Enum @type t() :: Enumerable.t() @type acc() :: any() @type element() :: any() @type index() :: integer() @type default() :: any() 但是如何从例如Enum.reverse中查看类型规格 如果我去看源代码,我就会明白 @spec reverse(t) :: lis

Elixir 处理检查过的元组列表

我有一个元组列表(表示http请求头), 在保存到数据库之前,我检查了它。 例如,原始值: [{“内容类型”、“应用程序/json”}、{“x-request-id”、“fatlud3104arjj91jtig2qrj3u7320la”}] 保存为: “[{\'Content-Type\',\'application/json\',{\'x-request-id\',\'fatlud3104arj91jtig2qrj3u7320la\'””,“ 有没有办法将这些值恢复到原始类型(从数据库加载时)

Elixir 长生不老药:^A在列表输出中

我尝试了各种方法生成一个列表,如: n = 3 nodelist_master = Enum.into 1..n, [] 但是当我尝试用IO.puts“List:{nodelist\u master}”或inspect输出它们时,我得到了 ^A^B^C 我期待着 [1,2,3] 您使用的字符串插值(“{{list}”)隐式调用参数 iex | 1▶ list=Enum.into 1..3,[] #⇒ [1, 2, 3] iex | 2▶ to_字符串(列表) #⇒ 对于小于12

Elixir 将列表拆分为N个部分

给定一个列表,如何将其拆分为N个子列表?它们不一定要大小相等。例如,给定9个元素并将其拆分为N=3个子列表=>3x3。或进入N=4个子列表=>2、2、2和1 我该怎么做?长生不老药库中没有函数吗 Enum.split将列表拆分为两部分 更新: 如果我有7个元素,我想把它们分成3个子列表,那么应该创建3个子列表: [[3 elements], [2 elements], [2 elements]] 即,我想保留所有的元素,可以考虑将列表拆分为n个元素的子列表: some_list = [1,

Elixir 为整个关联生成变更集

我在这里读过。但是文档看起来很混乱。我想为整个关联构建一个变更集,并在一个事务中执行它以进行更新。这是我的模型 ; 这是我想要构建单个变更集的数据 data= %User{ __meta__: #Ecto.Schema.Metadata<:loaded, "users">, id: 4606, name: "Test", occupation: "Artist", paintings: [

Elixir GenServer强制转换到其他节点的最佳方式

我的GenServer中有以下功能: def add_event(param1, param2) do Enum.each(:pg2.get_members("some_group"), fn pid -> GenServer.cast(pid, {:new_event, param1, param2}) end) end def handle_cast({:new_event, param1, param2}, state) do #do something

Elixir 长生不老药:正确的印刷方法__

我知道我们可以在中的捕获/救援块中使用\uuuu stacktrace\uuuuu获得完整的stacktrace,但正确的打印方式是什么?在我的例子中,我从错误中解救出来,但我仍然希望将其记录到控制台。这就是我现在正在做的: def不可靠_方法(项目)do #用“物品”做点什么` :好的 营救 _呃-> Logger.error(“项:#{inspect(项)}失败”) 记录器错误(检查(uu堆栈跟踪) {:错误,:处理_失败} 结束 只需Stacktrace MichałMuskała回答了这

Elixir 如何在运行时调用Plug.Router宏定义的路由?

我可以手动建立一个conn,然后像调用函数一样调用它们吗?如果您不理解它们的含义,请查看下面的代码 例如,定义路由/ping 我知道这可以通过使用Plug.Test中的conn函数来完成,但它基于HTTP客户端,而不是运行时函数调用,这太低效了。标准方法是如您所说,使用它来构建%Plug.conn{}结构,从而导致调用该路由 所有的插件都有一个函数,这是运行时可用的 例如: conn=Plug.Test.conn:get,/ping, conn=YourModule.Router.callcon

如何将这个简单的elixir echo服务器转变为一个简单的Web服务器?

我正在尝试为elixir设置一个echo服务器,为了简单起见,它采用简单的HTML,并只显示它。我必须在服务器中做些什么才能让它这样做 我试着看看其他人是如何用Elixir为工作服务器进行最小构建的,例如,似乎很有希望,但我仍然不知道如何在这方面实现它 提供的EchoServer defmodule EchoServer do require Logger def accept(port) do {:ok, socket} = :gen_tcp.listen(port,

Elixir 如何在一个外部变更集中有效地重命名一个属性';它正在被使用

我提出了以下解决方案,我称之为演员阵容前的解决方案: attrs = payload_fields_to_payload(attrs) 问题是,传入的属性可以是基于原子的,但不一定是基于原子的。有没有比我在这里做的更快更干净的方法?我只是在属性中重命名一个键。这项任务似乎有很多代码 def payload_fields_to_payload(attrs) do attrs = cond do Map.has_key?(attrs, "payload_fields") -&g

嵌入Elixir中的ejabberd-混合版本失败

我正在尝试将ejabberd包括在elixir应用程序中,如中所述。一切正常,但当我想使用mix-release从应用程序创建发布包时,出现错误: ** (Mix) :p1_utils is listed both as a regular application and as an included application 你知道怎么解决这个问题吗?我的exs很简单,只是ejabberd没有其他DEP defmodule Ejapp.MixProject do use Mix.Proje

Elixir Exto自定义主键

我正在尝试将主键从:id重命名为:account\u id 我有以下模式和迁移。当我尝试插入一条记录时,我从Postgres的account\u id列中得到一个“cannot be null”错误 我是否正确设置了自动生成位?我觉得这应该是在迁移中 def change do create table(:accounts) do add :account_id, :integer, primary_key: true add :email, :string

Elixir 将外源片段提取到变量

我有一个片段,它是重复的,非常复杂。我想将它提取到变量/函数中,并多次重用它,而不是多次编写它。下面是一个简化的示例,到目前为止,我尝试了许多不同的方法: f = dynamic([u], fragment("order by name desc")) query = from(u in User) |> order_by([u], ^f) Repo.all(query) 据了解,使用dynamic应该是可能的,但是我尝试在order_by、select、having或其

Elixir 由于遥测,我们的phoenix应用程序无法启动

我们的团队正在开发一个凤凰城项目,本周一位新成员加入了我们。他试图在Ubuntu20.04机器上的Docker环境中工作 他从我们的GitHub repo中提取源代码,发现我们的应用程序无法启动,并显示以下错误消息: [error] beam/beam_load.c(1883): Error loading module telemetry_app: This BEAM file was compiled for a later version of the run-time system

Elixir DynamicSupervisors的工作程序名称

大家好 我对长生不老药有点陌生,对在长生不老药中为员工设置员工姓名和id很迷茫,我希望有人能帮我一点忙 我的申请文件 defmodule Squareup.Application do # See https://hexdocs.pm/elixir/Application.html # for more information on OTP Applications @moduledoc false use Application def start(_type, _ar

Elixir/Phoenix-在发送文件后从控制器操作中删除文件

我有以下代码: def show(conn) do conn |> put_resp_header("content-disposition", ~s(attachment; filename="tmp.png")) |> Plug.Conn.send_file(200, "tmp.png") end 我试图在发送后删除tmp.png文件,但是如果我这样做了 def show(conn) do conn

上一页 1 2 ...  10   11   12   13    14   15   16  ... 下一页 最后一页 共 125 页