想学习并精通 Roc 吗?

加入 Exercism 的 Roc 轨道,即可获得 120 个练习 还会自动分析 你的代码,并提供 个性化指导, 而且全部100% 免费。

关于 Roc

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({})
}

Roc 的主要功能


Roc

快速

Roc 代码的设计目标是构建快、运行快。它会编译成机器码或 WebAssembly。

函数式

Roc 只有少量简单的语言原语。它是一门单一范式的函数式语言。

友好

Roc 的语法、语义以及自带的工具集都以易用性为先。

安全

Roc 强大的类型系统和不可变性带来了更可预测、更易维护的代码。

可互操作

Roc 能与其他语言良好协作,因此更容易集成到现有项目中。

持续演进

Roc 是一门年轻的语言,正在快速演进。

以 Roc 的方式接受指导

每种语言都有自己的做事方式,Roc 也不例外。我们的导师会帮助你学会像 Roc 开发者那样思考,并教你如何写出地道的 Roc 代码。解完一道练习后,把它提交给我们由志愿者组成的团队,他们会给你提示、想法和反馈,帮你写出更接近 Roc 中常见风格的代码,还会帮你发现那些你并不知道自己不知道的东西。

了解更多关于指导的内容

由社区贡献的 Roc 练习

Exercism 上的 Roc 轨道有 120 个练习,帮你写出更好的代码。

查看 Roc 的全部练习
Roc

开始学习 Roc 轨道

最棒的是,它对所有人 100% 免费。

加入 Roc 轨道