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中检查数组是否按顺序和连续顺序排列

我想知道是否有一种方法可以确定数组是否按顺序和连续排列。比如说 arr=[1,2,3,4,5] Arr将返回true,因为它是连续的 arr2=[1,2,3,4,56] 这将返回false,因为56不是紧跟在4之后。我尝试了很多方法,但是很难,因为没有循环您可以使用Enum.reduce,初始值为元组{true,nil}表示{“列表仍然是连续的和顺序的吗?”,“reduce处理的最后一个元素”} 如果您的列表很长,可以使用Enum.reduce\u while获得更有效的解决方案: {is_

如何在Elixir中将匿名函数传递给管道

我想这样写代码: def boundary do :crypto.rand_bytes(8) |> Base.encode16 |> &("--------FormDataBoundary" <> &1) end def boundary do add_marker = fn (s) -> "--------FormDataBoundary" <> s end :crypto.rand_bytes(8)

Elixir 修复协议EXTO.Queryable未实现错误

我刚开始使用异位和长生不老药,我遇到了一个无法解释的错误。我的代码看起来就像Exto自述文件中的示例 以下是我的EXTO模型和查询模块 defmodule Registration do use Ecto.Model schema "registrations" do field :user_id, :string field :created_at, :datetime, default: Ecto.DateTime.local field :updated_

我可以在Elixir中的同一个库中使用函数别名吗?

假设我有一个函数的定义: def rename(src, dst) do <do rename> end 因此,当用户可以同时使用我的库中的rename和mv函数时?我能想到的最简单的方法是通过 请注意,这定义了另一个函数bar/0,如果您的方法接受参数,它将调用foo/0: 您还需要在defdelegate中指定参数: defmodule MyModule do def awesome_func(term, opts \\ []) do # Do Somethi

Elixir 是否假定您在更新config.exs后运行mix deps.compile?

我已经开始使用Elixir+Phoenix框架,并开始合并用于用户注册/身份验证的库 addict的文档告诉我更新:addict应用程序的config.exs config :addict, not_logged_in_url: "/error", db: MyApp.MyRepo, user: MyApp.MyUser, : 在我运行mix deps.compile以获取配置之前,替换db

Elixir 在Phoenix中为模板使用不同布局的正确方法

在每个控制器操作中使用put\u Layout方法是否是更改模板布局的正确/最简单的方法?一个简单的例子是,想要为不同的控制器设计不同的布局,这似乎变得非常重复(见下文),因此我觉得框架中缺少了一些东西 defmodule MyPhoenix.AController do use MyPhoenix.Web, :controller def pageOne(conn, _params) do conn |> put_layout("Lay

Elixir phoenix框架自定义频道

我正在寻找一种在phoenix框架中实现自定义通道的方法,我不想使用这些主题,而是基于负载进行路由 例如,我有这样一条json消息 { "command":"hello", "payload": { "message_id":"001", "body":"is it me your looking for" } } } 并且想根据“command”的值进行路由,我不知道从哪

Elixir 循环遍历dict中的值

如何循环字典中的键值对并获取每个项的值?我想出了这个,但我总是出错 defp进程值(票证)do IO.inspect ticket.value这不起作用 结束 Repo.all(Ticket)#获得所有门票 |>枚举.分组依据(&(&1.聚合依据id))#分组依据id |>听写列表?可能不需要? |>Enum.map(&(processValues(&1))#返回已处理的票证 看一看。我想特别提醒您注意文件的这一部分: iex> for {key, val} <- %{"a" =&

如何使用Elixir递归实现for循环?

我有一个简单的Go-for循环,我想学习如何使用Elixir中的递归实现这一点。我现在真的不知道递归循环是如何工作的,但我正在做这方面的工作!我也不知道这是否是做递归函数的正确方法 package main import "fmt" func main() { for i := 0; i < 10000000; i++ { fmt.Println(i) } } defmodule Looping do def loops(i, e) w

Elixir Phoenix框架匹配到不同控制器的路由上的不同模式

我需要匹配到不同控制器的路由上的不同模式 示例:匹配http://localhost:4000/至PageController@index,我有: get "/:page", PageController, :show 现在,我需要添加另一条仅与以下模式匹配的路线: 应该与UserController@profile 我该怎么做?对于包含@的路由,没有什么不同: get "/@:user", UserController, :profile 只需确保将这一点置于其他任何可能匹配的因素之上(

Elixir 的嵌套表单有许多关联

一个用户有很多电子邮件。如何创建新的用户,并在表单中嵌套一封新的电子邮件 user\u controller.ex [...] def new(conn, _params) do changeset = User.changeset(%User{}) render(conn, "new.html", changeset: changeset) end [...] [...] <%= inputs_for f, :emails, fn ef -> %> <di

Elixir Phoenix默认响应内容类型为;应用程序/八位组流;字符集=utf-8“;用于json api请求

我正在使用库在phoenix应用程序中编写一个投诉api。请求仅通过:api管道路由,该管道看起来像: 管道:api do plug:accepts,[“json api”] 插头JaSerializer.ContentTypeNegotiation 结束 控制器/动作基本上是: defmodule MyApp.Api.DataController do 使用MyApp.web,:controller def显示(连接,参数)do query=#构建一个查询 渲染(conn、Repo.one查

Elixir 更新到Ecto 2.0后未定义的方法强制转换

我最近迁移到了最新版本的phoenix和Exto 现在,我已经改变了一个模型的代码,根据ecto changelog到 defmodule Spaces.Tag do use Spaces.Web, :model #Changed to below defmodule Spaces.Tag do use Ecto.Schema 我得到了(CompileError)web/models/tag.ex:23:undefined function cast/4。我缺少什么 我的mix.exs

Elixir 如何在使用EXTO删除模型时设置外键约束?

我有两种型号,User和Role用户有许多角色。我还设置了外键约束(如果有任何用户具有此角色,则不能删除角色) 我在尝试实现时出错 Role |> Repo.get(id) |> Repo.delete 错误是: ** (Ecto.ConstraintError) constraint error when attempting to delete struct: * foreign_key: users_role_id_fkey If you would lik

Elixir 如何在EXTO中更新一对多关联

在我的应用程序中,节目和剧集之间有一对多的关系。节目可以有很多集。在制作一集时,我可以通过以下方式与节目建立关联: def create(conn, %{"episode" => episode_params}) do show = Repo.get!(Show, episode_params["show_id"]) changeset = show |> build_assoc(:episodes) |> Episode

需要Elixir中的第三方库

我不熟悉Elixir,我正在编写一个概率算法来学习该语言,但我需要使用一个外部库。我已通过将其添加到mix.exs文件依赖项来安装它: defp deps do [{:sfmt_erlang, app: false, git: "https://github.com/jj1bdx/sfmt-erlang.git"}] end 而且编译正确。但是如何在代码中使用实际的库呢?我试过了 导入sfmt\u erlang 但是它抛出了未定义的函数sfmt_erlang/0要在Elixir项目

Elixir 凤凰/长生不老药:如何添加参数来终止事件?

我正在使用频道来实现聊天。当一个人离开聊天室时,我想通知特定的客户那个人已经离开了 这就是我发现的: def terminate(reason, socket) do Logger.info "terminated!!!!" Logger.info inspect(reason) Logger.info inspect(socket) {:noreply, socket} end 有没有办法自定义终止/2,以便我可以向它传递ID或其他什么?与/3中的ha

Elixir 如何将两个模型与多个具有多个关联的模型相关联?

例如: 班级和学生。 一个班级将有许多学生处于一种“有许多”关系中,分组为有许多助理或有许多部分。 实际上,这在语义上是无用的。我想知道两个模型之间是否可能存在多重关联 # Class class has_many :attendants, Students, foreign_key: :student_id class has_many :sections, Students, foreign_key: :student_section # Student student belongs_t

Elixir 将数据插入关联(?)

我正在尝试在凤凰城建立一个基本数据库,并想要一个类似于视频的模型——基本上使用有很多——同时上传类似的 在我的例子中,我希望允许用户上传多个.csv,它们被添加到数据库中。现在,我将一个.csv上传限制在创建一个用户上,以集中精力完成这么多工作。我也不关心我将存储什么——现在,指向.csv所在位置的路径只是简单地开始。将来,我可能希望直接存储csv数据 我在用户参数中获得了%Plug.Upload,并且能够将其写入文件,但我不确定如何将该路径添加到数据库中 def change do alt

非常基本的IEx和IEx.pry从elixir脚本获取错误:IEx shell正在运行?

我正在研究Dave Thomas的编程长生不老药,我正在尝试列表一章中的一些例子 当我学习一门语言时,我喜欢通过运行尽可能地保持基础。在本例中,我正在运行elixir reduce.exs reduce.exs的内容: require IEx; defmodule MyList do def reduce([], memo, _), do: memo def reduce([head | tail], memo, func) do IEx.pry reduce(tail

Phoenix/Elixir从web重新启动系统

是否可以通过向web服务器发送请求来重新启动系统?以下是我到目前为止尝试过的内容,但不断收到错误(Plug.Conn.notsenterro)未设置响应,也未从连接发送响应 defmodule App.Web.SystemController do use App.Web, :controller def system(conn, %{"command" => command}) do "sudo shutdown -r now" |> String.to_cha

Elixir 如何仅在更新时修改更新_

当插入具有唯一索引的数据时,我只想更新更新的_at值,而不是id+1。如何操作 Repo.insert_all(Ecto.module, all, on_conflict: :replace_all) 关于冲突:设置 我不知道怎么知道现在的时间, exto.DateTime.utc为错误 我如何编写回购协议 模式(模型) 为了更好地理解,您可以添加模式(模型)吗对不起,我认为模型不是必需的,但是现在就添加它。您必须根据文档第3段找到任何其他替代方案来更新所有内容。但是,这就是我如何使用upda

Elixir 凤凰城:API集成测试与控制器测试

我有一个用于登录用户的端点。我写了集成测试和控制器测试,但它们看起来非常相似,只是我在控制器测试中测试了更多的边缘案例(例如,用户试图使用错误的电子邮件登录)。测试的内容看起来并没有什么不同,所以如果有人能解释一下他们应该如何不同,那就太好了 集成测试: defmodule SigningInUserTest do use ParrotApi.ConnCase alias ParrotApi.Router @opts Router.init([]) describe "POST

Elixir 如何使用ecto和phoenix v1.3创建用户

我有一个phoenix/phx v1.3项目,我一直在工作,在尝试使用iex会话创建用户时遇到了一个问题。据我所知,我写的代码应该可以工作,因为应用程序可以编译 我运行下面的生成器为用户帐户设置schema mix phx.gen.json Accounts User users email:string encrypted_password:string username:string 然后,我学习了一些教程,介绍如何通过修改 /lib/kegcopr_api/accounts/user.e

Elixir 在Phoenix中为URL创建查询字符串

在我的Phoenix应用程序中,我想向URL添加一个查询字符串: some_cool_path(@conn, :index, "view-mode": "table") 我希望它会生成一个URL,如/some\u cool?view mode=table,但它会引发一个异常: protocol Phoenix.Param not implemented for ["view-mode": "table"] 如何修复此问题?要从关键字列表构建查询字符串,可以使用: 但这似乎不是问题所在。如果

如何使用elixir/phoenix从csv文件导入用户?

我有一个csv文件,其中包含用户列表和UserController中的以下导入方法,我希望通过提交csv文件和表单来导入这些用户。看起来我做错了 用户\u控制器 def import(conn, %{"user" => user_params}) do user_params["file"] |> File.stream!() |> CSV.decode |> Enum.each(fn(user) -> User.changese

Elixir/Phoenix新项目Comeonin.Bcrypt不可用

首先,我在Windows10中开发。每次编译之前,我都会运行vcvvarsall.bat amd64。我正在使用: 长生不老药1.4.2 凤凰城1.2.1版 我开始了一个全新的项目,制作了一个用户表,一切都很好。我添加了comeonin来散列pw,我不能再创建用户了。我收到一个错误页面,上面写着: 函数Comeonin.Bcrypt.hashpwsalt/1未定义(模块Comeonin.Bcrypt不可用) 以下是相关文件中的代码: Mix.exs User.ex 当我试图保存一个调用gen

Elixir 将Elm前端从github导入Phoenix后端

我的团队正在开发phoenix/elm应用程序,并决定将这两个项目保留在单独的回购协议中,并从phoenix应用程序“指向”elm应用程序。这对我来说是一个新的领域,我一直在寻找不同的方法来实现这一点。我曾尝试通过package.json将Elm应用程序作为依赖项导入,但我认为node_modules/无法识别Elm代码。我还尝试通过mix.exs将其作为依赖项导入,但再次尝试deps/it以查找exs文件。有其他方法吗?菲尼克斯作为资产管理公司提供。我已经成功地使用Brunch将我的Elm代码

:build_embedded和:start_permanent in Elixir

我现在正在浏览长生不老药官方网站,学习有关混合的知识。我正以他们为榜样 文件中提到: 编译源代码时,Elixir将工件编译到 _生成目录。然而,在许多情况下,为了避免不必要的复制,Elixir将创建从_build到实际的文件系统链接 源文件。如果为true,:build_embedded将禁用此行为,因为它 旨在提供在内部运行应用程序所需的一切 _建造 我对这段摘录有几个问题: 什么是文件系统链接?它只是指像“宾/长生不老药”这样的东西吗 您能重新表述“Elixir将创建从_build到实际源文

Elixir 生产中的Phoenix应用程序正在崩溃,不在开发中

我有一个Phoenix应用程序正在生产中,但我注意到,每当出现错误时,它会直接导致整个应用程序崩溃,而在开发过程中它不会。首先,我尝试填充所有错误,但后来我认为Elixir/Erlang不是这样工作的,在开发中尝试了相同的操作,错误只记录了一次,崩溃的任务重新启动,同时在prod中,它多次记录相同的错误并崩溃整个应用程序。我不确定这是否与我的配置有关,这是我现在为prod提供的端点配置 config :appname, AppName.Web.Endpoint, on_init: {AppN

Elixir 查询联接生成的内部联接太多

不确定为什么EXTO返回不正确的结果。 我可能把事情搞砸了 这是我的异位查询 from u in User, join: c in assoc(u, :companies), join: r in assoc(c, :roles), join: a in assoc(r, :assets), where: u.id == ^2 and a.id == ^1, group_by: [c.id, u.id, r

Elixir 每个方法在长生不老药中的效果如何?

Enum.chunk\u every([1,2,3,4,5,6,2]) 在控制台上给出输出[[1,2],[3,4],[5,6]] 但是,Enum.chunk_every([1,2,3,4,5,6,7,8],2) 给出[[1,2],[3,4],[5,6],'\a\b'] 为什么它会为某些整数返回ascii字符?这不是一个Enum.chunk\u every/2的问题,而是一个事实,即根据ascii表,“可打印”的字符将显示为ascii字符 检查答案 为了避免有些人在列表最开始的末尾添加0,或者忽略

Elixir 您如何使用exto.Repo';s预加载功能,实现软删除

我可以使用EXTO查询软删除、关联的数据库条目。查询方法如下: query=来自资源中的r, 在:[资源\u id:r.id]上加入关联 其中:为零(a.deleted\u at) 全部回购(查询) 对于一些嵌套很深的关联来说,这会变得单调乏味。如何使用exto.Repo的内置预加载函数查询适用于所有关联的where子句 我想做一些类似的事情: Repo.get(Resource,1)|>Repo.preload(:关联,其中:[deleted_at==nil]) 这样做可能吗,或者我可以使

Elixir 在单个列表中合并Enum.map响应

在下面的示例中,IEnum.mapa列表,根据某些条件,我可以接收单个项目或项目列表。 如果我只收到一个项目,我将结束一个列表。 但是,如果我还收到另一个列表,我将结束嵌套列表 defmodule TestQuery do def build_query() do Enum.map(["test1", "test2", "hello"], fn item -> query(item) end) end def query(item) do

Elixir Plug.Conn.resp/3中没有匹配的函数子句

在使用Guardian对JWT令牌验证GET请求后,我尝试使用JSON进行响应 我的测试: describe "Show user if authenticated" do setup %{conn: conn} do {:ok, %User{} = user} = Riders.create_user(@create_attrs) {:ok, jwt, claims} = Bikefit.Guardian.encode_and_sign(user)

如何从CSV获取数据并插入Elixir中的Postgres

我使用一个CSV模块导入一个CSV文件,它将数据存储在一个地图中,所有这些都可以工作,给我通常的数据映射结果。然后,我需要获取映射数据并将其发送到exto.repo。这是使用标准attrs参数,然后将其解压缩并发送到要发送到数据库的变更集。如何迭代每个键并返回值,然后获取每个子值并将其传递给exto.repo.create_对象 %{{:ok, ["key", "key", "key"]} => {:ok, ["value", "value", "value"}}..} 所有键和值映射完

Elixir 长生不老药:如何在地图上播种?

我想在Elixir中生成一张地图,大致如下: [1: 1, 1: 2, 1: 3, 2: 1, ..... , 3: 3] 代码如下: n = 3 map = %{ 0, 0} for x <- 1..n do for y <- 1..n do map = %{map | x, y} end end n=3 map=%{0,0} 对于x你的问题有很多问题 map=%{0,0}不是正确的映射语法 Elixir的数据是不可变的,并且具有

Elixir 使用Guardian进行API身份验证测试

我正在尝试测试我的控制器,但我一直遇到“未经验证”的错误。我想我知道哪里出了问题,但我不知道为什么它不起作用。这是我的 setup %{conn: conn} do user = insert(:user) {:ok, jwt, _} = Guardian.encode_and_sign(user, :api) conn = conn |> put_req_header("accept", "application/json") |> pu

Elixir 从视图调用普通JS函数

我很难理解如何在视图中调用Javascript函数。我想要实现的是一个HTML表,其中一些字段根据一些参数定期更新 因此,我需要一个带有参数的函数,该函数获取相应的HTML元素,并设置设置elements.innerHTML的间隔。到目前为止,一切顺利。我有这个功能 export default function calcActual(amount, gain, time, index) { var td; td = document.getElementById('ressource_' +

Elixir 在Phoenix应用程序启动时调用函数

在Phoenix app start上调用从数据库加载一些数据的函数的最简单方法是什么?因此,我需要我的函数有一个exto.Query goodness任其支配,并在凤凰开始提供任何请求之前被调用。你可以在启动时在我的应用程序/application.ex中的回购和端点主管之间启动一个工作程序: # Define workers and child supervisors to be supervised children = [ # Start the Ecto repository

Elixir 等待从HTTPoison中的网页加载所有数据

我正在尝试加载一个网页,其中我感兴趣的数据在初始页面加载后通过Ajax加载。当我获取页面时,我当前看到的文本是加载记录… 我想知道在数据返回给我之前,我可以使用什么技术来等待该部分加载完毕 目前我正在使用ElixirHTTPoison库,但我对Elixir/Erlang中的不同技术持开放态度。像HTTPoison这样的库只发出初始web请求,返回“服务器呈现”的内容。它们不处理客户端代码和标记。您需要一个无头浏览器/web驱动程序,如PhantomJS,来实际处理它并执行javascript代码

Elixir中运行时和库的混淆

我正在尝试使用名为“乌龟”的长生不老药中的MQTT库。每当我使用iex-SMIX时,我都可以让信息发送正常工作。但是,当我使用mix start开始启动任务时,程序将无法工作。我得到一个未知的注册表:乌龟。注册表错误 我可以毫无错误地启动Turtoise的supervisor,只有当我尝试使用Tortoise.supervisor.start\u child启动该进程的子进程时,我才会得到错误 defmodule Mqtt.Begin do require Tortoise def start

Elixir:当前没有与给定名称关联的进程

Elixir给了我一个错误,说这和进程名有关,但我不知道如何修复它 我的mix.exs文件如下: defmodule Crowller.MixProject do 使用Mix.Project def项目do [ 应用程序::克劳勒, 版本:“0.1.0”, 长生不老药:“~>1.7”, start_permanent:Mix.env()==:prod, deps:deps() ] 结束 #运行“mix help compile.app”了解应用程序。 def应用程序do [mod:{Crowll

Elixir 如何在预加载中聚合

因此,我有3张表借贷者,化身和贷款 借用者->拥有一个化身 借款人->有很多贷款 贷款控制员 def list_borrowers do query = from( p in Borrower, select: p, preload: [:avatar], preload: [:loan] # I WANT TO AGGREGATE THIS USING COUNT ) IO.inspect(Repo.all(query))end 这工作正常我的问题

Elixir 为什么数字| |布尔值是一个数字?

我不熟悉长生不老药,但我找不到我的问题的答案。 以下是我在iex中输入的一些示例 expression result 9 || true 9 true || 9 true 9 && true true true && 9 9 因此,当有一个|时,它将计算到第一个参数,当一个参数不是布尔值时,&&将计算到最后一个参数。 如何实现|和&&?他们为什么返回这些结果?这是短路布尔逻辑环境中的一种通用语言工具。要抛出一些有用示例的伪代码,请执行

Elixir编译器关于忽略函数返回值的警告

当我无意中忽略函数的返回值时,有没有办法从elixirc编译器、Credo或其他一些linting工具获得警告 也就是说,我想在这个示例中看到一个警告,它忽略了increment\u state()的结果: 在上面的示例中,我们“打算”从handle\u info/2调用返回递增状态,而不是“old”状态;也就是说,我们打算让服务器打印1、2、3。。。而不是重复打印1 如果示例代码故意忽略了增量状态/1调用的结果(例如,将其分配给),则无需发出警告 我查看了Credo的配置选项,但找不到任何符合

Elixir 在处理请求后运行塞管道

插头管道是构建应用程序的一种神奇方式。目前,我只在请求到达控制器之前应用管道来过滤/格式化数据。是否有一种方法可以在处理每个视图后应用管道来运行?我有一个JSON api,在每个视图渲染函数上运行两个数据转换 def render("app.json", %{app: app}) do app ... |> ApiHelpers.add_data_property |> ProperCase.to_camel_case en

Elixir 渲染phoenix模板内的空间时出现问题

我正在尝试建立一个基本的聊天室,这时我发现了一个奇怪的行为。可能是因为我对菲尼克斯模板缺乏了解 尝试使用将CSS类动态分配给组件时: 问题是,它被呈现为而不是,您需要在HTML中使用双引号(即EEx语法之外),如下所示: <div class="<%= if msg.user == @user, do: "msg local-user", else: "msg other-user" %>"> 也许您需要

Elixir 使用整数。模板中的\u是否为偶数(计数)

我自定义phx.gen.html模板以使用TailwindCSS。在:show模板中,我使用以下代码: <%= for {{k, _}, counter} <- Enum.with_index(schema.attrs) do %> <% bg_color = if Integer.is_even(counter), do: "bg-gray-50", else: "bg-white" %> <div class

上一页 1 2 ...  62   63   64   65    66   67   68  ... 下一页 最后一页 共 125 页