
Scala
文章平均质量分 59
JepsonWong
专注计算机底层,喜欢算法。
展开
-
函数式编程
定义“函数式编程”是一种“编程范式”,也就是如何编写程序的方法论。它属于“结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。特点函数是“第一等公民”所谓”第一等公民”(first class),指的是函数与其他数据类型一样,处于平等地位,可以赋值给其他变量,也可以作为参数,传入另一个函数,或者作为别的函数的返回值。没有”副作用”所谓”副作用”(side effect),指的是函数原创 2017-10-11 00:37:57 · 663 阅读 · 0 评论 -
Scala的implicit
1. 隐式转换函数我们在scala repl里定义一个方法foo,接受一个string的参数,打印出message。当我们传入字符串参数"2"的时候,输出2。但是当传入的类型是int而不是string的时候,出现类型不匹配异常。如果我们想支持隐式转换,将int转化为string,可以定义一个隐式函数,def implicit intToString( i : Int) = i.to原创 2017-04-30 22:15:21 · 368 阅读 · 0 评论 -
Scala包和引用
(1)与对象或类的定义不同,同一个包可以定义在多个文件当中。源文件目录和包之间并没有强制的关联关系。换个角度讲,你也可以在同一个文件当中为多个包贡献内容。(2)Scala的包和其他作用域一样地支持嵌套,你可以访问上层作用域中的名称。(3)包可以包含类、对象和特质,但不能包含函数或变量的定义。(4)引入语句让你可以使用更短的名称而不是原来较长的名称。用import来引入。(5)在Sc原创 2017-04-30 16:25:19 · 567 阅读 · 0 评论 -
Scala的模式匹配
scala中的match语句用来在一个列表中选择某一个分支来执行分支的语句块,类似于其他语言中的swtich……case语句。下面是一个简单的例子:var myVar = "theValue"; myVar match { case "someValue" => println(myVar + " 1"); case "thisValue" => print原创 2017-04-30 15:59:55 · 286 阅读 · 0 评论 -
Scala的函数式风格
Scala的魅力之一就是其函数式编程风格实现。1 Scala函数之常规函数eg. def add ( i:Int, j:Int ) :Int = i + j(1)def 是函数定义的关键字(2)add是函数名(3)小括号内的是参数列表,i:Int是此函数的第一个参数,该参数的名字是i类型是Int,注意Scala是区分大小写的,只能是Int不能写成int;j:Int是第二原创 2017-04-30 15:08:14 · 409 阅读 · 0 评论 -
Scala的面向对象
1 类的定义eg. class Point(val x:Int, val y:Int) (1)首先是关键字(2)其后是类名Point(3)类名之后的括号中是构造函数的参数列表,这里相当于定义了对象的两个常量(变量用var定义)。其名称分别为int,类型为Int。2 Scala对象的构造函数2.1 只是初始化字段的构造函数eg. class Point原创 2017-04-29 14:58:10 · 401 阅读 · 0 评论 -
Scala简介
如Scala官网宣称的:“Object-OrientedMeetsFunctional”,这一句当属对Scala最抽象的精准描述,它把近二十年间大行其道的面向对象编程与旧而有之的函数式编程有机结合起来,形成其独特的魔力。不知你是否看过梁羽生的著作《绝塞传烽录》?里面白驼山主宇文博的绝学:左手“寒冰掌”、右手“火焰刀”,用来形容Scala最为合适了,能够将OOP与FP结合得如此完美的语言,我认为原创 2017-04-29 14:29:45 · 341 阅读 · 0 评论