有时候我们只是想临时试一下 Scala,比如看看 case class 怎么写、集合方法返回什么结果,或者某段模式匹配到底对不对。如果为了十几行代码,还要先安装 JDK、Scala 工具链,再建个项目,多少有点折腾。
这时候,直接使用咱们绿叶网的 Scala 在线编译器就方便多了。打开页面写代码,点击运行就能查看结果,特别适合刚开始接触 Scala 的小伙伴边学边试。
页面上方就是咱们的 Scala 在线编译器。基本操作很直观:左边写代码,右边看结果,修改之后可以继续运行。
Ctrl + Enter 快捷键。我们来跑个小例子试试:使用 Scala 很常见的 case class 保存会员信息,再通过 copy() 生成一份 “积分更新后” 的新数据:
case class Member(name: String, points: Int)
val member = Member("小绿", 120)
val upgraded = member.copy(points = member.points + 30)
println(s"原会员:$member")
println(s"更新后:$upgraded")运行结果如下。
原会员:Member(小绿,120)
更新后:Member(小绿,150)像上面这种小代码,最适合使用在线编译器来验证。写完直接运行,不需要专门去建个本地项目。
Scala 在线编译器最大的好处就是:先写两行跑一下,比干啃文档管用得多。因此它特别适合以下几个场景:

简单来说,Scala 是一门运行在 Java 虚拟机(JVM)上的编程语言。它的名字来自 “Scalable Language”(可伸缩语言),意思是它既能写简单的小脚本,也能应对庞大的企业级项目。
Scala 最大的亮点,是它像个优秀的 “混血儿”——它巧妙地把 “面向对象” 和 “函数式编程” 这两种思路融合在了一起。
如果小伙伴们有 Java 基础,那么看 Scala 会有一种 “熟悉的陌生人” 的感觉。因为它们都跑在 JVM 上,Scala 可以无缝调用 Java 的各种生态库。但写起来,Scala 会紧凑和精简得多。Scala 能帮你省去了很多繁琐的样板代码,让你能用更少的代码量表达复杂的逻辑。

Scala 的应用领域比较明确,它不属于那种什么都做但什么都不精的 “万金油”,而是在以下几个场景里表现得非常亮眼:

Scala 和 Java 经常被拉到一起比较,主要是因为它们有一个共同的 “底座”——Java 虚拟机(JVM)。但这不代表它俩是一回事,更不能把两者的语法混在一起写。
简单来说,它们的关系可以总结为以下几点:
如果小伙伴们已经学会 Java,那么在学习 Scala 底层概念时会觉得非常亲切。但你需要慢慢跨越思维上的小门槛,去适应它更偏爱 “不可变数据”、更喜欢用函数式思维解决问题的新风格。

只要我们搜索 Scala,大概率就会看到 Apache Spark。它们两个确实是大数据圈的 “老搭档”,但小伙伴们千万不要以为 “Spark 只能用 Scala” 或者 “学了 Scala 就会用 Spark”。
简单来说,Spark 是一个用来处理海量数据的大型工具箱。由于 Spark 的底层主要是用 Scala 写的,所以用 Scala 来写 Spark 程序自然最契合,运行效率和兼容性也极好。
正因如此,大家在做大数据开发时,往往喜欢把它们俩绑在一起用。(当然,Spark 也同样支持 Python、Java 等语言)。

代码写得多了以后,鼠标点来点去多少有点慢。咱们的 Scala 在线编译器还支持下面这些常用快捷键:
Ctrl + Enter:运行代码。Ctrl + Z:撤销、Ctrl + Y:重做。Ctrl + C:复制、Ctrl + V:粘贴。Ctrl + A:全选。Ctrl + X:剪切。Ctrl + /:注释或取消注释。Ctrl + Home:跳转到首行的行首。Ctrl + End:跳转到末行的结尾。其中最值得记住的还是 Ctrl + Enter。写完一段 Scala 代码顺手一按就能运行,非常简单方便。