print_remaining! = |todos|
todos
.keep_if(|todo| todo.status != Done)
.for_each!(|todo| echo!("- ${todo.name}\n"))
main! = |_args| {
todos = [
{ name: "Buy groceries", status: Done },
{ name: "Join Exercism", status: Done },
{ name: "Learn Roc", status: InProgress },
{ name: "Call mom", status: NotStarted },
]
print_remaining!(todos)
Ok({})
}
借助有趣又有收获的编程练习提升编程水平,在 Exercism 上检验你对概念的理解。
查看 Exercism 上所有 Roc 练习
Roc 代码的设计目标是构建快、运行快。它会编译成机器码或 WebAssembly。
Roc 只有少量简单的语言原语。它是一门单一范式的函数式语言。
Roc 的语法、语义以及自带的工具集都以易用性为先。
Roc 强大的类型系统和不可变性带来了更可预测、更易维护的代码。
Roc 能与其他语言良好协作,因此更容易集成到现有项目中。
Roc 是一门年轻的语言,正在快速演进。
每种语言都有自己的做事方式,Roc 也不例外。我们的导师会帮助你学会像 Roc 开发者那样思考,并教你如何写出地道的 Roc 代码。解完一道练习后,把它提交给我们由志愿者组成的团队,他们会给你提示、想法和反馈,帮你写出更接近 Roc 中常见风格的代码,还会帮你发现那些你并不知道自己不知道的东西。
了解更多关于指导的内容