在 Elixir 中引用管道值

2024-01-31

我想计算字符串中单词出现的次数。实现是有问题的,但让我们用它来演示我的问题:

  def count(sentence) do
    words = String.split(sentence)
    occurrences = Enum.map(words, fn w -> {w, Enum.count(words, &(&1 == w))} end)
    Map.new(occurrences)
  end

我想获得与上面相同的结果,但使用管道而不是中间结果变量:

def count(sentence) do
    sentence
    |> String.split
    |> Enum.map(fn w -> {w, Enum.count(???)} end)
    |> Map.new
  end

是否可以引用 Enum.count 函数中的管道输入值?或者我必须使用中间变量?


您可以在管道中放置一个匿名函数:

def count(sentence) do
  sentence
  |> String.split
  |> (fn words -> Enum.map(words, fn w -> {w, Enum.count(words, &(&1 == w))} end) end).()
  |> Map.new
end
iex(1)> count("foo bar baz foo")
%{"bar" => 1, "baz" => 1, "foo" => 2}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Elixir 中引用管道值 的相关文章

  • Elixir Phoenix 生产服务器出现 Letscrypt 续订问题

    我有一个使用 Elixir Phoenix 框架构建的网站 该网站在开发和生产模式下都运行良好 当phoenix服务器在开发模式下运行时 我更新Let s Encrypt证书没有问题 但是当完全一样应用程序正在生产模式下运行 尝试更新时我不
  • 在 Elixir 中引用管道值

    我想计算字符串中单词出现的次数 实现是有问题的 但让我们用它来演示我的问题 def count sentence do words String split sentence occurrences Enum map words fn w
  • Phoenix 框架中的可选路由参数

    我已经开始自学凤凰框架 http www phoenixframework org 他们的文档非常好 然而 在指定可选路由参数时 我遇到了障碍 这Phoenix 框架路由文档 http www phoenixframework org do
  • Phoenix CSRF 令牌不匹配

    试图让 ajax 工作在 Phoenix 上 我通过执行以下操作来获取 csrf 令牌 这样我就拥有了它
  • Postgrex.Error ERROR 42501 unavailable_privilege 无法创建扩展 citext

    我正在尝试创建迁移 这是输出 MIX ENV prod DATABASE URL URL mix ecto migrate info execute CREATE EXTENSION citext Postgrex Error ERROR
  • 查找 Elixir/Erlang 内存文件的长度?

    在 Elixir 或 Erlang 中 如果我有一个内存文件 如何找到它的字节长度 ok fd file open ram read write file write fd hello 不确定是否有更好的方法 但这就是我所做的 def ge
  • 基于结构类型更改的分块列表

    我有一个列表 我想根据从结构类型 B 到 A 的转换来分块 例如 我有以下内容 iex 1 gt defmodule A do defstruct module A iex 2 gt defmodule B do defstruct mod
  • 有没有一种简单的方法可以查看 Elixir 宏扩展为什么?

    在过去 18 个月左右的时间里 Elixir 一直是我的首选语言 但有时我发现 无魔法 口头禅 特别是在 Phoenix 与 Rails 中引用 和宏的使用之间存在紧张关系 虽然我现在在使用没有宏的语言时会怀念宏 但我仍然希望能更容易地看到
  • Phoenix框架中如何处理关联和嵌套表单?

    Phoenix框架中如何处理关联和嵌套表单 如何创建具有嵌套属性的表单 在控制器和模型中如何处理它 有一个处理 1 1 情况的简单示例 想象一下我们有一个Car and an Engine模型和显然Car有一个Engine 所以有汽车型号的
  • Elixir - 递归列表值的总和

    只是尝试对列表值进行简单求和 defmodule Mth do def sum list do 0 end def sum list H T do H sum list T end end IO puts Mth sum list 1 2
  • 使 Elixir 应用程序在源代码更改时重新编译并重新加载

    如何在每次修改源代码时自动重新编译并重新加载我的 iex mix 应用程序 如果 iex mix 组合无法做到这一点 那么最简单的替代方案是什么 我已经检查了phoenix的重新加载方法 对于我的小型测试项目来说 它似乎并不容易实现 我也知
  • 当作为函数参数传递时,elixir 是否会生成映射的副本?

    换句话说 我想知道在 Elixir 中 映射是通过值还是通过引用传递给函数 鉴于 Elixir 的无副作用原则 我怀疑这是有价值的 但是大地图不会造成巨大的重复效率低下吗 在此先感谢您的帮助 由于 Elixir 中的所有术语都是不可变的 因
  • Dialyzer 无法识别使用多态类型的函数中的错误

    背景 我正在尝试使用透析器进行多态打字 作为一个例子 我正在使用著名的Option类型 又名 Maybe Monad 现在在许多其他语言中都很流行 defmodule Test do type option t some t nothing
  • Ecto - 验证关联模型的存在

    如何验证 Ecto 中是否存在关联模型 schema foo do has many bar Bar timestamps end required fields w bar invalid 有办法这样做吗 并验证这些字段的最小 最大数量
  • Elixir 中的递归和匿名函数

    我正在尝试定义一个匿名函数来执行点积 我可以将其编码为私有函数 没有任何问题 但我正在努力解决匿名函数语法 我知道我可以以不同的方式实现这一点 但我试图了解如何使用模式匹配和递归来定义匿名函数 这是我当前的实现 dot fn i input
  • Elixir Ecto:模式中的多个belongs_to关系

    我有以下架构 defmodule Message do use Ecto Schema schema messages do belongs to user FPL Club foreign key user to id belongs t
  • 分配 @changeset 在 eex 模板中不可用

    我正在尝试学习包含 Ecto Model 的 Phoenix 表单系统 但我遇到了一个无法通过的问题 我创建了一个表格 div class jumbotron div
  • 如何在简单的 Elixir 脚本中加载 Elixir 库?

    在 ruby 脚本中 我可以简单地执行以下操作 require some gem SomeGem do something 我怎样才能在 Elixir 中做类似的事情exs脚本而不创建一个全新的混合项目 到目前为止 我已经在谷歌上搜索了执行
  • Elixir 中的多行注释

    大多数语言都允许块注释和多行命令 例如 HTML 中的多行注释如下所示 在 Elixir 中 我发现的最接近的东西来自 EEx docs https hexdocs pm eex EEx html EEx智能引擎似乎从源中被丢弃 即使它们是
  • Elixir 如何将 Map 结构转换为 Record 结构

    我有一个 Record 结构和一个 Map 结构 例如 defmodule Foo Bar do defstruct boo nil baz nil end defmodule Foo do require Record Record de

随机推荐

  • 如何在 Spark 2.4 中加载自定义变压器

    我正在尝试在 Spark 2 4 0 中创建自定义变压器 保存起来效果很好 但是 当我尝试加载它时 出现以下错误 java lang NoSuchMethodException TestTransformer
  • 如何让 Unity 3D 中的对象保留在场景中并且不会重新创建

    我正在尝试找到一种在 Unity 3D 中播放背景音乐的好方法 我希望音乐在场景加载中保持一致播放 加载时不要破坏很好并且有效 但是每次我加载同一个场景时 它都会生成另一个音乐游戏对象 因为场景本身包含游戏对象 我该如何解决我的问题 我是一
  • aspx 和 aspx.cs 文件之间的链接断开

    在重命名不同的 ASPX 页面后 我曾多次遇到同样的问题 令我惊讶的是我在 stackoverflow 上找不到其他人也有同样的问题 当我运行 ASP NET C 项目时 调试器会向我显示一条类似这样的消息 Error 5 The name
  • 使用scrapy提取XHR请求?

    我正在尝试抓取使用 javascript 生成的社交点赞计数 如果我绝对引用 XHR url 我就能够抓取所需的数据 但是我尝试抓取的网站动态生成这些 XMLHttpRequest 其中包含我不知道如何提取的查询字符串参数 例如 您可以看到
  • 具有更新队列和输出队列的 Python 多处理

    如何编写使用两个队列的 Python 多进程脚本 一个作为工作队列 以一些数据开始 并且根据要并行化的函数的条件 动态接收更多任务 另一个收集结果并用于在处理完成后写下结果 我基本上需要根据我在初始项目中发现的内容在工作队列中放入更多任务
  • C中使用的括号及其用途

    如果之前有人问过这个问题 我很抱歉 但我是 C 的初学者 我想知道是否有人可以帮助解释一下 下面的代码中的括号 我从在线教程中获取了它 它运行得很好 但有一部分我不明白 include
  • SingleProducerConstrained 和 MaxDegreeOfParallelism

    在 C TPL 数据流库中 SingleProducerConstrained 是 ActionBlocks 的优化选项 当只有单个线程提供操作块时可以使用 如果一个区块只会被一个生产者在某个时间点使用 time 这意味着一次只有一个线程会
  • iText:PdfTable单元格垂直对齐

    我正在尝试将标题单元格文本垂直对齐到单元格高度的中间 这是我的代码 PdfPCell c1 new PdfPCell cerate phrase regular bold c1 setHorizontalAlignment Element
  • Open GL 对于 2d 卡牌游戏来说太过分了吗?

    我只是有一个创建纸牌游戏的想法 我只是在考虑是否使用 OpenGl 还是 CoreAnimation 你能告诉我使用 OpenGL 来制作 2D 纸牌游戏是否有点过分了 谢谢 在不了解更多情况的情况下很难说 不过 您可以使用 CALayer
  • 使用 Python 客户端 API 在 Google Cloud Pub/Sub 中运行同步拉取

    我找不到立即返回Python 客户端 API 中的标志 有什么具体原因吗 是否有另一种方法可以从 Python 中的订阅中同步提取排队消息 谷歌不提供这样的东西 但是您可以通过实现自己的队列轻松解决这个问题 from Queue impor
  • Nuxt js - SSR页面重复组件

    我正在生成一个带有组件列表的简单静态页面 当我从另一个页面访问该页面时 它会正确呈现所有内容 当我直接登陆页面时 某些组件会在页脚之后再次呈现 如果我检查该元素 我可以看到它们是相同的元素 但在页脚之后再次呈现 任何人都知道为什么会发生这种
  • 仅保存 Outlook 邮件项目的真实附件

    我目前正在开发一个 Outlook 插件 它将邮件项目和附件保存在我的 MSSQL 数据库中 我有一个方法可以保存 MailItem 及其所有附件 但是 如果我保存所有附件 则 MailItem 中的嵌入图像也会保存 有谁知道如何拯救所有r
  • 使用JPA2时如何对EJB进行单元测试?

    您将如何对使用 JPA 的 EJB 进行单元测试 例如 如果我有一个 Order 实体和 OrderEJB 它应该计算订单总数 如下定义 我将如何在不接触数据库的情况下对 EJB 进行单元测试 另外 您将如何定义实体的值 以便可以断言预期的
  • 如何在 MPMoviePlayerController 中显示字幕

    我构建了一个自定义视频播放器 所有按钮都可以使用 我需要知道当视频具有该选项时 MPMoviePlayerController 显示字幕的代码是什么 我没有在任何地方找到示例或知道该字幕按钮背后的代码的人 我在哪里可以找到这个 您将必须实现
  • Eclipse 找不到我的 Android 4.1.2 设备

    我正在尝试仅运行介绍 Hello World 我的手机 Droid Razr Maxx 上的应用程序正在使用 Eclipse 运行 android 4 1 2 jelly bean 我启用了 USB 调试 尝试更新手机驱动程序 重新安装驱动
  • 如何在 Python (2.6) 中将 JSON 解码为 str 而不是 unicode? [复制]

    这个问题在这里已经有答案了 我有一个 JSON 格式的配置文件 其中包含一些字符串变量 始终为 ascii 这些字符串默认解码为 un icode 但由于我必须将这些变量传递给我的 Python C 扩展 所以我需要它们作为普通的 Pyth
  • 我可以在 Javascript 中抛出异常来停止 Javascript 执行吗?

    我尝试模拟一个问题 从外部 url 加载的脚本会停止执行我的网站上的任何其他脚本 我尝试通过调用不退出的函数来模拟这样的问题 我可以在 firebug 中看到错误 但页面上的不同脚本仍然执行 JavaScript 中是否存在不同类型的错误
  • 8086 汇编中的大二进制移位?

    我有一个 512 字节长的二进制数据块 我想知道如果我想将其右移一次 最有效的方法是什么 我现在最好的猜测 对于汇编来说非常新 是我必须首先检查一个块 可能是 int 看看它将移出什么 移出 然后携带先前 int 移出的任何内容并继续携带这
  • Java:如何计算从InputStream读取的字节数而不事先分配完整内存

    我有一个 Java 后端 用户可以将文件上传到其中 我想将这些上传的文件限制为最大大小 并希望在上传时检查上传的字节数 并在达到限制后立即中断传输 目前 我在分配之前使用 InputStream available 来确定估计大小 但这似乎
  • 在 Elixir 中引用管道值

    我想计算字符串中单词出现的次数 实现是有问题的 但让我们用它来演示我的问题 def count sentence do words String split sentence occurrences Enum map words fn w