elixir - 嵌套在另一个列表中的结构中的随机列表
问题描述
使用以下代码:
[
%Quizz{
question: "L'unità d' Italia",
answers: [
%{answer: 1900, result: false},
%{answer: 1861, result: true},
%{answer: 1848, result: false},
]
},
%Quizz{
question: "La Rivoluzione Francese",
answers: [
%{answer: 1789, result: true},
%{answer: 1818, result: false},
%{answer: 1766, result: false},
]
},
%Quizz{
question: "La scoperta dell'America",
answers: [
%{answer: 1280, result: false},
%{answer: 1500, result: false},
%{answer: 1492, result: true},
]
}
]
我想使用 3 个测验结构Enum.shuffle
洗牌,并洗牌每个结构的答案列表。我能够对列表进行洗牌,但我正在努力更新每个结构的答案列表。我怎样才能做到这一点?
解决方案
您可以打乱列表然后映射它,用answers
打乱的版本替换每个字段
Enum.shuffle(list_of_quizzes)
|> Enum.map(fn(%{answers: answers} = quizz) ->
%{quizz | answers: Enum.shuffle(answers)}
end)
推荐阅读
- regex - 正则表达式“”到“”有条件
- node.js - 如何在 Heroku for node.js 项目上安装和支持 SAP NW RFC SDK
- firebase-realtime-database - 如何使用 Firebae 实时数据库日期发送自动推送通知?
- java - 如何发现 Spring Cloud Eureka Client 内存泄漏原因?
- sql-server - 多对多关系模式
- c++ - 尝试创建和定义类的静态成员时出错
- docker - 使用本地 m2 存储库在 jenkins 中编译 maven 未找到依赖项
- swift - 如何仅使用 Swift 包管理器在调试配置中设置 Swift 包
- rabbitmq - 所有 RabbitMQ 队列确认突然下降
- android - MaterialAutoCompleteTextView 正在泄漏片段