Elixir [42] 打印为“*”

2023-12-11

我有一个返回的角色模型列表p.followings我想提取followed_id将此模型列表中的字段放入单独的列表中。

p.followings

returns...

[
  %Poaster.Personas.Following{
    __meta__: #Ecto.Schema.Metadata<:loaded, "followings">,
    followed: %Poaster.Personas.Persona{
      __meta__: #Ecto.Schema.Metadata<:loaded, "personas">,
      background_image_url: nil,
      bio: "ASDF",
      followings: #Ecto.Association.NotLoaded<association :followings is not loaded>,
      id: 42,
      inserted_at: ~N[2020-08-14 01:52:17],
      name: nil,
      profile_image_url: nil,
      updated_at: ~N[2020-08-14 16:19:56],
      user: #Ecto.Association.NotLoaded<association :user is not loaded>,
      user_id: 1,
      username: "test"
    },
    followed_id: 42,
    id: 1,
    inserted_at: ~N[2020-08-12 20:35:09],
    persona: #Ecto.Association.NotLoaded<association :persona is not loaded>,
    persona_id: 1,
    updated_at: ~N[2020-08-12 20:35:09]
  }
]

我只想在此处获取 follow_id 的列表,以便我可以进行查询以获取我关注的角色的帖子列表。

我想找回类似的东西[42].

当我做Enum.map(ps.followings, fn follow -> follow.followed_id end),这是我期望能够运行来获得这个,我只是回到控制台'*'

当我尝试使用理解时into选项,进入一个空列表,这也是我得到的。

persona_ids = []
for p <- p.followings, into: persona_ids, do: p.followed_id
IO.inspect(persona_ids)
[]

但是,当我运行上述理解时p.followed,它返回角色列表:

for p <- p.followings, into: persona_ids, do: p.followed   
[
  %Poaster.Personas.Persona{
    __meta__: #Ecto.Schema.Metadata<:loaded, "personas">,
    background_image_url: nil,
    bio: "ASDF",
    followings: #Ecto.Association.NotLoaded<association :followings is not loaded>,
    id: 42,
    inserted_at: ~N[2020-08-14 01:52:17],
    name: nil,
    profile_image_url: nil,
    updated_at: ~N[2020-08-14 16:19:56],
    user: #Ecto.Association.NotLoaded<association :user is not loaded>,
    user_id: 1,
    username: "test"
  }
]

我需要 ID 列表,而不是角色模型列表,以便我可以进行适当的 Ecto 查询以获取我关注的角色的帖子。

这里发生了什么?我究竟做错了什么?有更好的方法来做我想做的事情吗?


正如我在评论中提到的,以及讨论的这另一篇文章, the '*'您收到的实际上是您期望的列表:[42].

发生这种情况是因为 42 是*字符(您可以通过执行以下操作来验证这一点?*在 iex 会话中)。在 Elixir 和 Erlang 中,当你有一个整数列表并且所有整数都是字符的有效代码点时,当你使用时它会打印字符列表IO.inspect,但它是一个列表,您可以像使用任何列表一样使用它。

例如,如果您输入[104, 101, 108, 108, 111]进入 iex 提示符,你会回来'hello',但单引号表示它是一个字符列表,您可以对其执行任何您想要的列表操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elixir [42] 打印为“*” 的相关文章

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

    凤凰城有一个发电机 mix phx gen html Accounts User users name string age integer 我不想为我的模型使用上下文 也不想提供它的名称 如何禁用它 您仍然可以使用 1 2 及更早版本中的
  • 在 Python 中使用列表理解来执行类似于 zip() 的操作?

    我是一名 Python 新手 我想做的事情之一就是围绕列表理解进行思考 我可以看到这是一个非常强大的功能 值得学习 cities Chicago Detroit Atlanta airports ORD DTW ATL print zip
  • 如何编写在日期时间字段上执行 group_by MONTH 的 Ecto 查询

    我正在执行 ecto 查询并尝试进行分组q created date 此查询成功执行了 GROUP BY 但它是按秒执行的 我正在尝试按月分组 MYQUERY gt group by q q created date q id 有没有类似的
  • Phoenix 中的 web/static 和 priv/static 有什么区别?

    我对长生不老药和凤凰是新手 现在我在凤凰城的静态资产方面遇到了麻烦 我想在我的页面中添加一个js文件 我在我的模板中添加以下代码 js test js gt gt 然后创建一个js文件web static js test js 但是 我收到
  • 使用 Ansible 将二进制文件添加到 PATH

    我正在尝试安装Kiex https github com taylor kiex版本管理器Elixir http elixir lang org install html使用 Ansible 的编程语言 这些是我为此使用的戏剧 name K
  • 如何在 Haskell 中制作打勾游戏的图案?

    实现有 2 个参数的函数 ticktick 第一个参数是自然数元组 定义游戏场地的行数和列数 第二个列表包含由玩家 x 和玩家 o 轮流玩的坐标给出的井字游戏比赛的记录 打印游戏的实际状态 其中游戏区域将由字符 和 界定 空方块 以及字符
  • Python 循环的列表理解

    我使用了很多 N 维数组 编写这样的缩进代码会很痛苦 而且我知道有些代码可以用列表理解和内联语句替换 例如 for x in 0 1 2 3 for y in 0 1 2 3 if x lt y print x y x y 可以替换为 pr
  • 在python中使用列表理解修改列表元素

    folks 我想用列表理解修改列表元素 例如 如果元素为负数 则添加 4 因此清单 a 1 2 2 将被转换为 a 1 2 2 以下代码有效 但我想知道是否有更好的方法来做到这一点 Thanks for i in range len a i
  • 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
  • Elixir 中的多行注释

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

    我有这个十进制数 Elixir c1 Decimal div a1 b1 gt Decimal lt 0 006453859622556080696687234694 gt 如何将其四舍五入为小数点后位数较少的较短数字 正如 Dogbert
  • 类型不匹配插入:binary_id 与 Ecto 变更集

    我有一张桌子applications有外键user id这是一个 Postgresuuid 我在我的web ex primary key id binary id autogenerate true foreign key type bin
  • 将新元素添加到列表中

    我试图将一个新元素添加到列表中 如下所示 iex 8 gt l 3 5 7 7 8 3 3 5 7 7 8 3 iex 9 gt l 3 5 7 7 8 3 为什么我会排在第五位 8 3 它是什么意思 如何将新元素添加到列表中 Update
  • 使用 gitbash 和 elixir 在 vscode 中输出垃圾而不是颜色

    我开始学习elixir并成功让iex有ansi颜色 问题是在 vscode 的终端中 输出看起来像垃圾 iex Interactive Elixir 1 8 1 press Ctrl C to exit type h ENTER for h
  • 避免在列表理解中计算相同的表达式两次[重复]

    这个问题在这里已经有答案了 我在列表理解中使用一个函数和一个 if 函数 new list f x for x in old list if f x 0 令我恼火的是这个表达f x 在每个循环中计算两次 有没有办法以更清洁的方式做到这一点
  • Elixir:模式匹配对于元组和映射的工作方式不同

    在 Elixir 中 如果我尝试模式匹配以下两个元组 a 1 2 我收到匹配错误 但如果我对两张地图做同样的事情 x a x 1 y 2 它工作正常 并且a绑定到 1 我可以明白为什么匹配两个元组会出错 但为什么匹配映射不会出错 在第一个示
  • 将二进制数转换为包含每个二进制数的数组

    我试图将二进制值转换为每个 1 0 的列表 但我得到默认的二进制值而不是列表 我有一个字符串 我将每个字符转换为二进制 它给了我一个列表 其中每个字符都有一个字符串 现在我试图将每个字符串拆分为值为 0 1 的整数 但我什么也得不到 if
  • Elixir 中的斜线符号是什么意思?

    在 Elixir 文档中 他们继续使用带有斜杠的奇怪符号 例如 is boolean 1 IO puts 1 String length 1 is function 2 2 我只是猜测 但我认为它指的是数量 但如果是这样的话 为什么文档中没
  • 如何向 Ecto.DateTime 添加天数?

    我有一个像这样创建的日期时间 Ecto DateTime from erl 2015 3 10 0 0 0 这是一个凤凰应用程序 我想在没有任何额外第三方库的情况下增加几天 如何 至少从 Elixir 1 5 0 开始 您可以使用DateT
  • Python:在列表理解本身中引用列表理解?

    这个想法刚刚出现在我的脑海中 假设您出于某种原因想要通过 Python 中的列表理解来获取列表的唯一元素 i if i in created comprehension else 0 for i in 1 2 1 2 3 1 2 0 0 3

随机推荐

  • 基底存储中私有变量的可能性

    是否可以将私有变量存储在底层存储中 特别是以以下形式存储并在私有函数中访问它们 derive Encode Decode Default Clone PartialEq Debug pub struct MyStruct id Hash t
  • python:ext4 文件系统中 os.path.exists 的复杂性?

    有谁知道 os path exists 函数在带有 ext4 文件系统的 python 中的复杂性是多少 使用的底层目录结构Ext4 and Ext3 与中完全相同Ext2 Ext3添加日记 Ext4改善日记 日记与你的问题无关 最初 Ex
  • 列出物理驱动器空间

    我有大约 200 台服务器 我需要获取磁盘空间和逻辑驱动器空间详细信息 可用空间 已用空间和总空间 这是我的 PowerShell 查询 infoObjects New Object PSObject foreach machine in
  • 在 Firefox 中使用 css 转换时边框渲染不正确

    我有一个像这样的简单 CSS 箭头 arrow brown height 18px width 18px border top 6px solid 39170b border right 6px solid 39170b moz trans
  • UITextView 或 UILabel Swift 上图像的自定义项目符号

    我正在创建一个应用程序 它基本上是一个大型网站的移动版本 该网站有一个特定区域列出了产品功能 每个功能都标有独特的自定义图像 有没有办法快速做到这一点 本质上 创建一个字符串项目符号列表 但使用小图像作为项目符号点 将 UITextView
  • 如何插入重新启动游戏选项?

    我希望在骰子游戏结束时有一个选项 上面写着 您想重新启动吗 是还是不是 如果用户输入 是 游戏就会重新启动 并且会无限次 直到用户玩够游戏并退出 我知道你可以用循环来做到这一点 但是怎么做呢 import random print Dice
  • Java程序如何获得自己的进程ID?

    如何获取我的 Java 进程的 ID 我知道有几种依赖于平台的技巧 但我更喜欢更通用的解决方案 不存在可以保证在所有 jvm 实现中工作的独立于平台的方法 ManagementFactory getRuntimeMXBean getName
  • sed 就地编辑文件

    如何编辑文件single sed命令 目前 我必须手动将编辑的内容流式传输到新文件中 然后将新文件重命名为原始文件名 I tried sed i 但我的 Solaris 系统说 i是一个非法的选择 有不同的方法吗 The i option无
  • 推送不会修改作为函数参数的列表[重复]

    这个问题在这里已经有答案了 我是 common lisp 的新手 所以希望有人能向我澄清这一点 假设我们有一个列表并想要添加一个项目push修改它 CL USER gt defparameter xx 1 2 3 XX CL USER gt
  • PHP odbc_fetch_array 字符串限制

    我有以下sql SELECT bw imp step as imp action FROM cm3rm1 m1 INNER JOIN cm3rm2 m2 ON m1 number m2 number WHERE m1 number id 当
  • 如何使用 MLlib 在 Spark 上生成(原始标签、预测标签)的元组?

    我正在尝试使用从 Spark 上的 MLlib 返回的模型进行预测 目标是生成 orinalLabelInData predictedLabel 的元组 然后这些元组可以用于模型评估目的 实现这一目标的最佳方法是什么 谢谢 假设 parse
  • 如何获取用户位置?

    我试图使用以下代码获取用户的当前位置 但它不起作用 我已经添加了两个NSLocationWhenInUseUsageDescription钥匙和NSLocationAlwaysUsageDescription我的钥匙Info plist f
  • 如何在Windows窗体应用程序中实现键盘按键

    我想在 C Windows 窗体应用程序中实现键盘按钮按下命令 假设如果达到某个值 我想使用 Windows 窗体应用程序按下 L 键 这可能吗 怎么做 这可能对你有用 但是 更好的方法可能是设置表单的KeyPreview财产给true 然
  • Apache Kafka JDBC 连接器 - SerializationException:未知的魔术字节

    我们尝试使用 Confluence JDBC Sink Connector 将主题中的值写回到 postgres 数据库 connector class io confluent connect jdbc JdbcSinkConnector
  • 如何阻止 Java 自动将 char 值转换为 int?

    java编译器自动将char值转换为int 这样的代码不会引发错误 public void foo int i do something char c a foo c 有没有办法阻止编译器总是将 chars 转换为 int 或抛出错误 默认
  • 为什么我会收到此代码的“wait_fences:未能收到回复”?

    为什么我会收到此代码的 wait fences 未能收到回复 这是我使用通知与主线程通信的方式吗 import ViewController h implementation ViewController synthesize alert
  • 如果其他选择发生变化,AngularJS 会删除并添加选择框选项

    我正在寻找类似的解决方案problem之前已经用以下代码解决了这个问题 http jsfiddle net yLCVf 1 这是我需要从上面的 JSFiddle 使用的 JS document ready function select h
  • 将文本字段限制为一位小数点输入,仅限数字,小数点后两位字符 - Swift 3

    我正在努力使用 Swift 3 来做到这一点 我有一个文本字段 我想将其限制为仅包含数字和一个小数点以及小数点后两个字符 我还想让它在输入非整数时不使用小数点的区域中工作 感谢您的任何建议 您需要将委托分配给文本字段 并在 shouldCh
  • JavaFX 中的切换按钮和侦听器

    我有这个代码 FXML private ToggleButton tb1 FXML private ToggleButton tb2 FXML ToggleGroup group new ToggleGroup String cpuLoad
  • Elixir [42] 打印为“*”

    我有一个返回的角色模型列表p followings我想提取followed id将此模型列表中的字段放入单独的列表中 p followings returns Poaster Personas Following meta Ecto Sch