我差不多完成了scala书了,我想要一些很好的代码示例来帮助我巩固我学到的东西。
github上有什么可以推荐的吗?
最好是某些我可以学习的库,也许是API包装器?或者你推荐的其他东西?
答案 0 :(得分:7)
我的建议是不仅要查看代码示例,还要深入了解并开始编码。你可以阅读世界上所有的代码,并且在一天结束时仍然没有线索如何编写最简单的函数。尝试解决一些Project Euler问题,即使是简单的问题也应该能够帮助您建立信心。
Here's使用Scala和Akka演员链接到Project Euler#42的解决方案。这是一个非常简单的问题,但强迫自己用演员解决它会教会我很多如何使用它们并了解其他Scala的特性。
就个人而言,通过观察一些项目我已经学到了相当多的东西。 Lift框架的源代码正在积极开发中,需要查看大量内容。当我开始使用Specs2时,我使用了他们的一些测试作为学习工具。
我首先从使用Twitter的Kestrel项目中了解了Scala,其代码(以及相关项目)也有很多东西需要关注。
此外,当我学习如何使用Akka时,我发现this设置Akka Web应用程序的基本示例非常宝贵。它还有助于学习如何正确设置SBT
答案 1 :(得分:6)
你可以看看Martin Odersky的 Scala by Example 。它显示了scala库的设计方式:
http://www.scala-lang.org/docu/files/ScalaByExample.pdf
您还可以查看scala库源代码。官方scaladoc的大多数页面上都有一个链接源:
答案 2 :(得分:3)
99 Scala Problems对于掌握功能风格也非常有用。
有些解决方案有点过时或过于复杂,但是当你能改进给定的解决方案时,这是一种很好的感觉。
答案 3 :(得分:1)
恕我直言选项没有什么比简单编码更能巩固知识 - 你决定解决Scala中的一个问题,你开始实现它,你就学会了。每当你碰壁时,你都会向#scala和许多论坛/邮件列表上的google和好人寻求帮助。
并不是说阅读代码很糟糕 - 这很棒。但是,如果您没有首先遇到问题并以更糟糕的方式处理它,由于对Scala生态系统的了解有限,您将无法理解许多解决方案的优雅。
由于Scala主要是在Scala中实现的,如果它是您想要阅读的源代码 - 我衷心地建议从那里开始。探索Lift或Akka也是一个好主意(使用Lift或Akka开始你自己的项目甚至是一个更好的主意)。
当我们谈论好的小练习时,99 Scala problems是第一步。