关联 Scala 源码|学习笔记

简介: 快速学习关联 Scala 源码。

开发者学堂课程【Scala 核心编程-基础关联 Scala 源码】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8886


关联 Scala 源码

 

一、Scala 源码的查看的关联

在使用 scala 过程中,为了搞清楚 scala 底层的机制,需要查看源码

下面看看如何关联和查看 Scala 的源码包

1查看源码,选择要查看的方法或者类,输入 ctrl + b

2关联源码,看老师演示

比如打开 scala 写一段代码:

创建一个新文件 object 类型,名叫 looksourcecode,写入:

def main(args: Array[string]): unit = {

var arr = new Array [ Int](10)

//对代码进行格式化的快捷键 ctrl+alt+l

for (item <- arr) {

println( "item=” + item)

}

运算符之间要有空格。

运行输出:

D: lprogram\jdk8\binljava ...

item=o

item=o

item=o

Process finished with exit code o

可以看到一共输出了十个0,因为写入的大小是十个,相当于十个元素,但是因为没有写入值,所以是十个0。

现在看array的源码,这个很重要,因为在后面的学习中不可避免地要看源码。

方法很简单,把光标定在 var arr = new Array [ Int](10)上的 array 上按下 ctrl+b 显示:

Sources not found             Download...  Attach Sources...

package scala

final class Array[T]_length : scala.Int) extends scala.AnyRef with java.io.Serializable

with java.lang.cloneable {

def length : scala.Int = {/* compiled code */ }

def apply(i : scala.Int) : T = { / * compiled code */ }

def update(i : scala.Int,x : T) : scala.unit -= { /* compiled code */ }

override def clone(): scala.Array[T] = {/ * compiled code */ }

这里看到 array 的定义是 final class,表示数组不可变。

Sources not found 表示源码看不到。

这只是一种简单的声明,解决办法第一种方法是:

1、点击 Download... 下载

2、点击 Attach Sources... 关联源码

关联源码有点麻烦,点击可以看到默认会在安装的 scala 主目录下的 lib  里找源码,把源码包扔过去就行了。

举例:

在以前学习用到的分享包里面有一个 scala-sources-2.12.4.tar 或者在网上下载一个也可以,复制,复制后为了方便管理直接将其拷贝到 scala-2.11.8目录下的lib里。

回到界面中点击 Attach Sources... 看关联能否成功:

会发现没有看到刚才的源码包,不识别所以麻烦,放在那里也没有用,那么多来一步就可以了:

scala-2.11.8目录下的 lib 里将刚才的资源包先手动解压一下,解压完了之后再去关联一下可以看到这个资源包,但关联却没有任何反应。

解决方法是在 scala-2.11.8目录下的 lib 里将资源包解压完成后再解压一次,解压完成后再去关联就没有问题了。

可以看到一堆源码,点击 ok 后,不要着急,它正在进行索引,索引完成后会自动切换到源码包。

源码包的关联步骤就是将 scala-sources-2.12.4.tar.gz 拷贝到 scala 的 lib 目录下,解压两次,然后关联就可以了。

相关文章
|
Java Scala 开发者
Scala 下界介绍和应用实例 | 学习笔记
快速学习 Scala 下界介绍和应用实例
91 0
Scala 下界介绍和应用实例 | 学习笔记
|
Scala 开发者
Scala 上界介绍和应用实例2 | 学习笔记
快速学习Scala上界介绍和应用实例2
72 0
Scala 上界介绍和应用实例2 | 学习笔记
|
Java Scala 开发者
Scala 泛型介绍和应用实例2 | 学习笔记
快速学习 Scala 泛型介绍和应用实例2
58 0
Scala 泛型介绍和应用实例2 | 学习笔记
|
Java 大数据 Scala
scala 对象创建的流程分析|学习笔记
快速学习 scala 对象创建的流程分析。
81 0
|
Java Scala 开发者
Windows 搭建S cala 开发环境|学习笔记
快速学习 Windows 搭建 Scala 开发环境。
150 0
Windows 搭建S cala 开发环境|学习笔记
|
大数据 Java 编译器
Scala 字符类型|学习笔记
快速学习 Scala 字符类型。
147 0
|
大数据 Scala 开发者
Scala 整型|学习笔记
快速学习 Scala 整型。
93 0
|
小程序 Java 编译器
Scala 快速入门|学习笔记
快速学习 Scala 快速入门。
91 0
Scala 快速入门|学习笔记
|
Java Scala 开发者
Scala 接口基本介绍|学习笔记
快速学习 Scala 接口基本介绍。
202 0
Scala 接口基本介绍|学习笔记
|
Java Scala 开发者
Scala 覆写字段快速入门|学习笔记
快速学习 Scala 覆写字段快速入门。
63 0