在 Erlang 中如何将元组对列表转换为记录?

2024-03-08

假设我有这个:



-record(my_record, {foo, bar, baz}).

Keyvalpairs = [{foo, val1},
               {bar, val2},
               {baz, val3}].

Foorecord = #my_record{foo=val1, bar=val2, baz=val3}.
  

如何将 Keyvalpairs 转换为 Foorecord?


最简单的事情是:

Foorecord = #my_record{foo=proplists:get_value(foo, Keyvalpairs), 
      bar=proplists:get_value(bar, Keyvalpairs),
      baz=proplists:get_value(baz, Keyvalpairs)}.

如果这太重复,你可以这样做:

Foorecord = list_to_tuple([my_record|[proplists:get_value(X, Keyvalpairs)
      || X <- record_info(fields, my_record)]]).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Erlang 中如何将元组对列表转换为记录? 的相关文章

  • Erlang 中的 begin...end 有何用途?

    我刚刚踩了一个begin end在 Erlang 的文档中 here http www erlang org doc reference manual expressions html id79819 但它没有给出一些例子来说明它是如何有用
  • Erlang中socket的“packet”选项怎么能如此加速tcp传输呢?

    使用 packet 4 通过本地主机上的两个不同端口传输1G数据只需要8秒 而使用 packet raw 则无法在30秒内完成相同的任务 我知道如果使用后一种方法 数据将以数万个小块的形式到达 在archlinux上大小为1460字节 我已
  • 在 Red Hat 上安装 RabbitMQ - 错误的 Erlang 版本

    我正在尝试按照以下说明在 Red Hat Enterprise Linux 7 64 位工作站版本 的评估虚拟机上安装 RabbitMQhttps www rabbitmq com install rpm html https www ra
  • 如何使用 Erlang 发送推送通知?

    我正在尝试使用 Erlang 向 APNs 发送推送通知 这是我到目前为止想出的代码 module apnstest2 export connect 0 connect gt application start ssl ssl seed s
  • Erlang 代码的持续集成服务器

    您使用什么类型的敏捷工具进行 Erlang 开发 什么持续集成 http en wikipedia org wiki Continuous integration您使用 CI 服务器来构建 Erlang 代码吗 我得到的唯一参考来自 Quo
  • Erlang / Golang 端口示例中的缓冲区大小

    我有一个粗略的 Erlang to Golang 端口示例 将数据从 Erlang 传递到 Golang 并回显响应 问题是我可以传输的数据量似乎仅限于 2 8 字节 见下文 我认为问题可能出在 Golang 方面 没有创建足够大的缓冲区
  • 如何在没有任何服务器的情况下创建 P2P 网络聊天?

    有没有一种方法可以在没有任何服务器的情况下创建 P2P 网络聊天 可以 但是您必须决定见面地点 如果你的朋友把他的IP发给你 你就可以连接 那么你只需要告诉更多的人加入即可 一段时间后 你会变得越来越大 然后 如果网络上的某个链接发生故障
  • 在 Erlang 中使用完全限定的函数调用?

    我刚刚学习了如何在 Erlang 中升级模块 并且我知道只有使用完全限定名称的函数调用 例如module function 重新链接 到加载到 VM 中的当前版本 但未指定模块名称的函数调用不会 重新链接 到当前版本 而是继续使用旧版本 关
  • Node.js 或 Erlang

    当谈到它们可以处理的并发级别时 我真的很喜欢这些工具 Erlang OTP 看起来是更稳定的解决方案 但需要更多的学习和深入研究函数式语言范例 看起来 Erlang OTP 在多核 CPU 方面做得更好 如果我错了 请纠正我 但我应该选择哪
  • Erlang:如何限制分配给进程的内存

    我要问的是是否可以限制分配给特定进程的内存 堆或堆栈 以便该进程不能超过它 也许类似于 process flag min heap size MinHeapSize 但针对最大堆 您可以将某种进程跟踪 gen server 放在一起 定期检
  • 在erlang中打印数字的每个数字的问题

    我正在尝试编写一个程序 该程序将读入一个数字 然后将该数字的每个数字输出到列表中 然而 在我尝试使用数字 8 和 9 之前 大多数事情看起来都很好 该程序仅输出 b t反而 如果输入的数字包含8或9 同时还有其他数字 例如283 就可以正常
  • 在 Erlang 中展平嵌套列表的列表

    我正在做练习Erlang编程 问题是 编写一个函数 给定一个嵌套列表的列表 该函数将返回一个平面列表 例子 flatten 1 2 3 4 5 6 1 2 3 4 5 6 提示 使用concatenate解决flatten 这是我的conc
  • 如何使用 ibrowse 将附件上传到 CouchDB 中的文档?

    我已经使用curl上传图像文件Penguins jpg 例如 C curl gt curl vX PUT H Content Type image jpeg http localhost 5984 DBNAME DOCID Penguins
  • Erl 无法连接到本地 EPMD。为什么?

    Erlang R14B04 erts 5 8 5 source 64 bit rq 1 async threads 0 kernel poll false Eshell V5 8 5 abort with G root ip 10 101
  • 当通过 basho rebar 从命令行运行 Erlang 应用程序时,如何设置 Erlang 节点名称

    我已经使用 basho rebar 编译了我的 Erlang 应用程序 它生成了一个独立的 escript 可执行文件 我从命令行运行它 如下所示 myapp myconfig config 我的问题是如何确定运行我的应用程序的 Erlan
  • 设置 Emacs 进行 Erlang 编程

    Emacs 是 Erlang 编程的首选 IDE 有很多好的模式 distel erlware mode 默认的 erlang 模式 但是您对设置 Emacs 进行专业 Erlang 开发有何建议 按照中所述设置 erlang mode自述
  • Erlang Mnesia 中的分页搜索

    例如 给定记录 record item id time status 我想搜索 1000 到 1100 个项目 按时间和顺序排序status lt lt finished gt gt 有什么建议么 这取决于您的查询是什么样的 如果您需要按许
  • Erlang:如何将原子转换为字符串?

    我想从原子转换为字符串 Input hello world Output hello world 我该如何实现这一目标 Use atom to list http erlang org doc man erlang html atom to
  • 如何在 Erlang 中将数字转换为单词?

    我发现了一个关于将数字转换为 单词 的有趣问题 代码高尔夫 数字到单词 https stackoverflow com questions 309884 code golf number to words 我真的很想看看你如何在 Erlan
  • Erlang 中的接受器池和负载平衡?

    From http www erlang org doc man gen tcp html accept 1 http www erlang org doc man gen tcp html accept 1 值得注意的是 accept 调

随机推荐

  • Angular 和 p5.js - p5.loadSound 不是函数

    当我想在我的 Angular 项目中使用 p5 js 时遇到问题 我使用 Angular CLI 将 p5 js 包含在我的 angular cli json file scripts node modules p5 lib p5 min
  • Django 模型中的隐藏字段

    不久前我做了一个模型类 我为它制作了几个 ModelForm 效果非常好 我最近不得不向其中添加另一个可选 blank True null True 字段 以便我们可以存储用户之间的一些关系数据 它本质上是一个推荐系统 问题是添加这个新字段
  • 为什么在 TestNG 中 @DataProvider 注解在 @BeforeClass 之前运行?

    Using TestNG http testng org 为什么 DataProvider之前运行 BeforeClass 似乎有时 DataProvider之前运行 BeforeClass有时不是 有谁知道原因吗 这就是今天的实施方式 这
  • 使用 php 将文件上传到网站

    我是 php 新手 我正在尝试从这里修改代码 http www w3schools com php php file upload asp http www w3schools com php php file upload asp文件上传
  • 打开chm文件目录的特定部分c#或vb.net

    我有一个名为 help 的 chm 文件 在该文件中我有一个如下结构 Introduction item1 item2 Topic1 item1 item2 Topic2 item1 item2 Topic3 现在我想在 c 或 vb ne
  • 我在哪里可以获得 OpenJDK (Windows) 的预构建 JavaFX 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在 Windows 上进行开发 并用 OpenJDK 替换了 Oracle JDK 我注意到 Ope
  • 使用 pandas 绘图时,图例仅显示一个标签

    我有两个 Pandas DataFrame 我希望将它们绘制成单个图形 我正在使用 IPython 笔记本 我希望图例显示两个 DataFrame 的标签 但到目前为止我只能显示后一个 此外 任何关于如何以更合理的方式编写代码的建议将不胜感
  • 创建 Google 图表并转换为图像服务器端

    我目前在我的网站上的几个地方实现了谷歌图表 我可以将它们转换为图像并下载它们 那很简单 现在我希望创建这些图表并将它们转换为服务器上的图像 我做了很多搜索 但没有找到任何例子 也没有提出任何问题 这开始让我认为这是不可能的 我知道这些图表通
  • bootstrap:仅更改特定模态的模态背景不透明度

    我有一个包含多种模式的菜单 当我打开一个又一个时 背景会变成黑色 这很丑 我明白我需要改变filter alpha opacity 80 in modal backdrop fade in在 bootstrap css 中 但我需要更改它
  • 使用Collection接口创建ArrayList对象的多态性有什么好处?

    我研究了多态性并了解它可以进行动态方法绑定 如下所示 假设 Animal 类是抽象类 public class AnimalReference public static void main String args Animal ref s
  • 在 PHP 中,什么是二进制字符串(b'xxxx')?

    什么是b 二进制字符串 在 PHP 语句中的意思 str b xxxxxx The PHP 语言参考 http www php net manual en function is binary php描述unicode字符串和原生二进制字符
  • HashMap 不可序列化

    HashMap with Serializable键 值应该是Serializable 但这对我不起作用 尝试了其他一些IO流 没有一个有效 有什么建议吗 测试代码 public class SimpleSerializationTest
  • Modernizr.touch 在 Firefox 浏览器上返回 true

    我编写了一段代码来获取基于触摸和非触摸的事件 它适用于除 Firefox 之外的所有其他浏览器和设备 默认 FF 返回true var thumbsEvent isTouch Modernizr touch detect the touch
  • mysql中正则表达式匹配的十六进制字符

    我发现 mysql 的行为非常奇怪 下面的选择返回 0 SELECT CONVERT a USING BINARY REGEXP x61 然而 下面语义相同的 select 返回 1 SELECT CONVERT a USING BINAR
  • 仅在滚动时触发一次函数(scrollstop)

    所以 我只想在滚动时触发一次函数 使用滚动停止 https stackoverflow com questions 16867266 peform a function if an element is completely in the
  • 如何更改行结束设置

    是否有文件或菜单可以让我更改如何处理行结尾的设置 我读到有 3 个选项 Windows 风格的签出 Unix 风格的提交 Git 在签出文本文件时会将 LF 转换为 CRLF 什么时候 提交文本文件时 CRLF 将转换为 LF 为了 跨平台
  • Jquery:当输入值被另一个函数更改时,.on('input') 不会触发

    这是代码 input type text on input function stuff here first function input type text click function second function keyboard
  • Rhino - 模拟类而不覆盖虚拟方法

    如果我正在模拟一个类 如下所示 有什么方法可以让模拟not重写虚拟方法 我知道我可以简单地删除 virtual 修饰符 但我实际上想稍后删除此方法的行为 换句话说 除了删除 virtual 修饰符之外 如何才能通过此测试 namespace
  • 递归查找子集

    这是我尝试创建的一个递归函数 用于查找 STL 集中传递的所有子集 这两个参数是一个用于搜索主题的 STL 集 以及一个数字 i gt 0 它指定子集应该有多大 如果整数大于集合 则返回空子集 我认为我这样做不正确 有时是对的 有时则不是
  • 在 Erlang 中如何将元组对列表转换为记录?

    假设我有这个 record my record foo bar baz Keyvalpairs foo val1 bar val2 baz val3 Foorecord my record foo val1 bar val2 baz val