![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scala
文章平均质量分 87
qq_23849183
这个作者很懒,什么都没留下…
展开
-
Scala(0)
因为偶然在Coursera上看到了Scala的系列课程,然后点进去看看发现是介绍Scala这门函数式与面向对象的混合式语言的。想到自己对函数式语言挺感兴趣的,自然就报名了。于是乎,忙完了前几天的东西,这一两天就一直在看Programming in Scala。虽然才看了几章,但是自己是连呼过瘾啊。不得不说,这门语言比自己学的C++,Java啥的有趣多了。在这里,总结一些Scala的知识点。不过,因为原创 2016-08-04 10:43:31 · 395 阅读 · 0 评论 -
Scala9
Abstract Members 这一章主要讲抽象成员。在Scala中,you can make everything that is not yet known into an abstract member, it does not matter whether the unknown is a type, method, variable or value。 首先,定义什么是抽象: A mem原创 2016-08-25 10:00:28 · 370 阅读 · 0 评论 -
Functional Programming in Scala week2 Assignment-Function Sets感想
这是Coursera上Functional Programming in Scala week 2 Assignment的记录。 在自己一开始拿到题目后,是莫名奇妙的,完全看不懂。一方面,我觉得这是因为自己对函数式编程还不是很熟悉,另一方面我觉得也是题目有误导之处 type Set= Int => Boolean 一开始,我直接理解成这是一个Set的定义,是一个容器。然后想了十多原创 2016-08-12 20:26:07 · 376 阅读 · 0 评论 -
Scala11
Extractor 这一章主要讲 Extractor,extractor使得你可以定义自己的模式,而不用创建对应的 case class,即: Extractor let you define new patterns for preexisting types, where the pattern need not follow the internal representation of the原创 2016-09-02 19:39:02 · 372 阅读 · 0 评论 -
Scala(5)
Traits 这一章介绍了Scala面向对象编程中一个非常重要的结构吧:Trait。Trait在英文的解释是:A distinguishing characteristic or quality。这个词的意思就很好解释了Trait在Scala中的作用:用来描述Object的一些特性,但是这特性又不在继承关系下的,即使用继承来表示这种关系很牵强,所以需要Trait。 Trait的使用有点类似于Clas原创 2016-08-10 15:48:51 · 258 阅读 · 0 评论 -
Scala(4)
Composition and Inheritance 看了几章函数式编程的方法,这一章回到面向对象编程,介绍面向对象更高级的知识,包括继承、组合、多态、动态绑定 首先是Abstract classes。这个和其他面向对象的特性没什么不同。不过和java不同的是,如果在类前加上了Abstract关键字,那么就不需要再在抽象方法前加上Abstract关键字了 Parameter methods是指不需原创 2016-08-09 21:17:07 · 275 阅读 · 0 评论 -
Scala(3)
Functions and Closures 这一章讲函数和闭包。毕竟Scala也算得上函数式语言了,函数在其中地位也是非常重要的 定义在object里的函数叫做method,除了可以定义在object或者class里面,作为函数式语言,Scala也允许在函数中再定义,这样的的函数称为Local functions。Local function只可在外层函数,不可以嵌套访问函数。只能通过外层函数间接原创 2016-08-07 15:48:25 · 242 阅读 · 0 评论 -
Scala8
Stateful Objects 这一章主要介绍 stateful object,即 mutable object 对于 purely functional object,每次访问都可以得到同样的结果。然而对于 stateful object, the result of a method call or field access may depend on what operations were原创 2016-08-19 11:43:01 · 338 阅读 · 0 评论 -
Scala13
Object Equality 定义 equals会出现四种不一致定义的情况Defining equals with the wrong signature Changing equals wihtout also changing *hashCode. (一般利用hashCode来实现是否相等) Defining equals in terms of mutable fields. Faling原创 2016-09-09 10:47:36 · 434 阅读 · 0 评论 -
Scala12
Woking with XML 这一章主要介绍Scala对XML的支持,包括了如何使用XML字面量来创建节点,如何将XML保存到文件中以及如何从文件加载XML,如何利用模式匹配以及查询方法将XML分解 XML称为半结构化数据,是因为它比普通的字符串要有结构(将数据组装成树),但是它又比程序语言的对象更松散(XML允许在标签中存在自由格式的文本,并且缺少类型系统(实际上是有的))。半结构化的数据在于它原创 2016-08-29 10:35:20 · 452 阅读 · 0 评论 -
Scala6
Assertions and Unit Testing 这一章主要介绍Scala的断言以及Unit Test 使用断言有两种方式:使用assert(condition, explanation)方法 使用ensuring()方法 Scala不仅有自己自带的测试框架,比如说:ScalaTest、specs、ScalaCheck,还支持直接使用Java的测试框架,如:JUnit、TestNG 在Scal原创 2016-08-18 11:29:25 · 313 阅读 · 0 评论 -
Scala11
Extractor 这一章主要讲 Extractor,extractor使得你可以定义自己的模式,而不用创建对应的 case class,即: Extractor let you define new patterns for preexisting types, where the pattern need not follow the internal representation of the原创 2016-08-28 09:35:32 · 447 阅读 · 0 评论 -
Scala(2)
Funtional Objects 这一章继续介绍有关class的内容。不过,这一章跟前面那章介绍class的不同,这一章主要是介绍object,就是没有mutable state的class,这样才符合函数式编程的要求。 首先,介绍class的class parameter。class parameter就是传递给class的参数,同传递给函数的参数一样,在这里也不能省略参数的类型,因为Scala原创 2016-08-06 16:40:20 · 297 阅读 · 0 评论 -
Scala7
Working with Lists 这一章主要介绍List的一些common operation, 还介绍一些 design principles for programs working on lists Lists和数组很像,但是有两点不同: 1. lists是immutable而数组则是mutable,即不能对一个list中元素重新赋值而只能重新构造一个新的list。 2. lists是递归原创 2016-08-17 18:00:17 · 309 阅读 · 0 评论 -
Scala(1)
Classes and Objects 这一章主要讲Scala面向对象的内容:Calss。 1 . Scala中,默认限定符就是public,因此只要需要使用private或者protected才需要显示声明限定符(比Java好多了。。。) 2 . Class中带method的参数是val的,所以不可以在method内部对函数重新赋值。另外,尽管Scala有类型推导系统,函数的参数必须显示声明类型。原创 2016-08-04 15:18:00 · 278 阅读 · 0 评论 -
Scala10
Implementing Lists 这一章主要讲List在Scala中是如何实现的 List在Scala中并不是一个内置的结构,而是定义在一个抽象类 List 中,它有两个子类: :: 以及 Nil。 :: 是一个final class,而 Nil则是一个Object。List类中只有三个方法: isEmpty, head, tail等 List的一些内置方法,如 length,drop,map原创 2016-08-26 20:15:15 · 532 阅读 · 0 评论