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] 打印为“*” 的相关文章

  • 为什么列表推导式会写入循环变量,而生成器却不会? [复制]

    这个问题在这里已经有答案了 如果我对列表推导式执行某些操作 它会写入局部变量 i 0 test any i 2 for i in xrange 10 print i 这会打印 9 但是 如果我使用生成器 它不会写入局部变量 i 0 test
  • “!”、“?”、“_”和“.”是什么意思? Elixir 中的语法

    我需要帮助理解 Elixir 中的以下语法 and 这些语法在 Elixir 的功能中起什么作用 例如Repo get 我不确定它们是否只是函数名称 或者有一个角色 虽然我知道 用于调用匿名函数 和 对于任何或可变的 失败时引发异常的函数约
  • 如何在没有 javascript 的情况下从表单中修补或删除

    我正在 Phoenix 上编写一个简单的 CRUD 应用程序 如何在不使用 JavaScript 的情况下从表单提交 PATCH 和 DELETE 请求 啊我想通了 和rails一样
  • 比较列表推导式和显式循环(3 个数组生成器比 1 个 for 循环快)

    我做了作业 无意中发现算法的速度出现了奇怪的不一致 这是相同函数的代码的 2 个版本 但有 1 个区别 在第一个版本中 我使用 3 次数组生成器来过滤某些数组 在第二个版本中 我使用 1 个 for 循环和 3 个 if 语句来执行相同的过
  • python 列表理解 double for

    vec 1 2 3 4 5 6 7 8 9 print num for elem in vec for num in elem lt this gt gt gt 1 2 3 4 5 6 7 8 9 这是在骗我 我知道 elem 是列表中的列
  • Ecto - 验证关联模型的存在

    如何验证 Ecto 中是否存在关联模型 schema foo do has many bar Bar timestamps end required fields w bar invalid 有办法这样做吗 并验证这些字段的最小 最大数量
  • 集合推导式在 Pydev (Python) 上不起作用

    x for x in range 10 在 IDLE 上完美运行 但是当我在 eclipse 中尝试 使用 Pydev 插件 时 出现语法错误 未定义的变量 x 是因为 Pydev 不支持集合理解什么的吗 我该怎么做才能使这项工作成功 这只
  • 如何在phoenix中使用session连接?

    我有一个身份验证插头 我想测试我的控制器 问题是这个插头里的线有 user id get session conn user id 当我使用这种方法时它总是为零 我以前使用过dirty hack 但我不再想这样做 session Plug
  • 启动混合任务流程依赖项

    Elixir 新手 但到目前为止很喜欢它 我的很多混音任务都依赖于 HTTPotion My mix exs文件被声明为这样 def application do applications logger cowboy plug httpot
  • python列表理解和extend() [重复]

    这个问题在这里已经有答案了 深入学习 Python 2 7 1 但未能理解这一点 几个小时 gt gt gt a 1 2 gt gt gt b 3 4 gt gt gt gt gt gt a extend b 0 gt gt gt a 1
  • 嵌套 for 循环以列出具有不同“if”条件的理解

    我正在尝试将此嵌套循环转换为列表理解 但我不确定是否可能 因为 tmp 列表中的项目可能有不同的值 这是最好的方法吗 谢谢 final for a in range 13 1 for b in range 0 4 for c in rang
  • 如何在 Elixir 中将字符串转换为 Ecto.DateTime?

    我需要将包含有效 UTC 时间的字符串转换为Ecto DateTime一个 稍后我会将其以正确的格式插入到我的数据库中 我尝试过使用Ecto DateTime cast date 方法但似乎不起作用 该字符串是Sat Aug 04 11 4
  • 在 Python 中使用列表理解来执行类似于 zip() 的操作?

    我是一名 Python 新手 我想做的事情之一就是围绕列表理解进行思考 我可以看到这是一个非常强大的功能 值得学习 cities Chicago Detroit Atlanta airports ORD DTW ATL print zip
  • 生成所有可能的树

    给定以下数据类型定义 data FormTree Empty Node FormTree FormTree deriving Show 我想编写一个函数 它生成一个无限列表 其中包含按长度排序的所有可能的树 例如节点数量 下面的代码几乎满足
  • 如何通过 SSL 从 Phoenix Web App 连接到 PostgreSQL?

    When trying to run Elixir Phoenix Web Application using PostgreSQL Database hosted 3rd party Database as a Service Azure
  • 如何在 Haskell 中制作打勾游戏的图案?

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

    在 Elixir 中 我将如何为函数创建新的保护子句 显然 我已经看到你不能只调用 a 中的任何函数when声明 但如果能够做这样的事情那就太好了 defmodule Player do def play card player do de
  • 为什么列表理解在数组相乘方面比 numpy 快得多?

    最近我回答了THIS https stackoverflow com questions 31596979 multiplication between 2 lists 31597029 31597029想要两个列表相乘的问题 一些用户建议
  • 通过列表理解压平列表列表

    我正在尝试使用 python 中的列表理解来展平列表 我的清单有点像 1 2 3 4 5 6 7 8 只是为了打印这个列表列表中的单个项目 我编写了这个函数 def flat listoflist for item in listoflis
  • Elixir Jason 使用元组对结构进行编码

    我有一个已经有的结构 derive Jason Encoder但该结构中的某些字段是元组 因此无法对结构进行编码 我该如何解决这个问题 UPDATE 我使用了下面提到的方法来实现协议 关于这种方法需要注意的一件重要事情是 它将改变整个项目的

随机推荐

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

    是否可以将私有变量存储在底层存储中 特别是以以下形式存储并在私有函数中访问它们 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