随笔分类 -  Language-scala

scala开发环境
摘要:1. Intellij IDEA Scala开发环境搭建 Intellij IDEA 15.0.3 默认配置里面没有Scala插件,需要手动安装,在Intellij IDEA 15.0.3 第一次运行时选择configure plugins,选择默认后在软件主界面去配置,但是本人测试发现,这种设置方 阅读全文

posted @ 2017-03-01 15:19 为尊严而奋斗 阅读(457) 评论(0) 推荐(0)

Partial Functions(偏函数)
摘要:如果你想定义一个函数,而让它只接受和处理其参数定义域范围内的子集,对于这个参数范围外的参数则抛出异常,这样的函数就是偏函数(顾名思异就是这个函数只处理传入来的部分参数)。 偏函数是个特质其的类型为PartialFunction[A,B],其中接收一个类型为A的参数,返回一个类型为B的结果。 其有个重 阅读全文

posted @ 2017-03-01 01:36 为尊严而奋斗 阅读(2621) 评论(0) 推荐(0)

scala的隐式转换
摘要:摘要: 通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码。 使用方式: 1.将方法或变量标记为implicit 2.将方法的参数列表标记为implicit 3.将类标记为impli 阅读全文

posted @ 2017-03-01 01:09 为尊严而奋斗 阅读(491) 评论(0) 推荐(0)

样例类详解
摘要:概述: case类在模式匹配和actor中经常使用到,当一个类被定义成为case类后,Scala会自动帮你创建一个伴生对象并帮你实现了一系列方法且带来了不少好处,如下: 1.实现了apply方法,意味着你不需要使用new关键字就能创建该类对象 1 2 3 4 5 scala> case class 阅读全文

posted @ 2017-03-01 01:06 为尊严而奋斗 阅读(1294) 评论(0) 推荐(0)

按名称传递参数
摘要:通常情况下,函数的参数是传值参数;即参数的值在它被传递给函数之前被确定。但是,如果我们需要编写一个接收参数不希望马上计算,直到调用函数内的表达式才进行真正的计算的函数。对于这种情况,Scala提供按名称参数调用函数。 示例代码如下: 结果: 在代码中,如果定义函数的时候,传入参数不是传入的值,而是传 阅读全文

posted @ 2017-02-28 23:54 为尊严而奋斗 阅读(2280) 评论(0) 推荐(0)

使用命名参数
摘要:在正常的函数调用中,调用参数在调用函数中是按其定义时的参数顺序进行一一匹配。如果需要按不同的顺序传递参数,就要使用到Scala的一种函数特性——命名参数。 命名参数使用方法很简单,即在调用函数时,指定参数名并进行赋值。示例代码如下: 结果: 从代码和结果中就可以看出使用命名参数的优点:在需要时可以任 阅读全文

posted @ 2017-02-28 20:42 为尊严而奋斗 阅读(184) 评论(0) 推荐(0)

变量值的函数和借贷函数
摘要:在Scala中,函数是“头等公民”,几乎所有的操作都是以函数形式进行。同样的,能够在变量中存放函数(听上去很神奇吧)。示例如下: 本段代码将ceil函数赋值给fun变量,ceil后面的_表名这是一个函数,而不是碰巧忘记给它传参。 在scala中,不需要为每个函数命名,这种没有命名的函数叫做匿名函数。 阅读全文

posted @ 2017-02-28 19:56 为尊严而奋斗 阅读(207) 评论(0) 推荐(0)

高阶函数
摘要:带函数参数的函数由于是一个接受函数参数的函数,故被称为高阶函数,像之前讲到的map()函数就是高阶函数。如下例所示: 上述代码中,apply函数接受一个函数f作为参数,接受一个Int类型的参数,进行f(v)运算,在下面又给出了f具体的定义(layout函数)。 同样的,高阶函数也可以产出另一个函数( 阅读全文

posted @ 2017-02-28 19:45 为尊严而奋斗 阅读(206) 评论(0) 推荐(0)

柯里化函数
摘要:柯里化是指将原来接收两个参数的函数变成接收一个参数的函数的过程,新的函数返回一个以原有第二个参数作为参数的函数。是不是有种被绕晕了的感觉,先别急,先看一个示例: 结果: 这里可以看出,柯里化函数与多个参数的函数具有相同的功能,这中间有一个“应用部分函数”,或者叫“偏应用函数”,这个函数multipl 阅读全文

posted @ 2017-02-28 17:12 为尊严而奋斗 阅读(449) 评论(0) 推荐(0)

1.scala基础语法总结
摘要:Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的。如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; println(s)A:区分大小写 - Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不 阅读全文

posted @ 2017-02-27 00:35 为尊严而奋斗 阅读(2070) 评论(0) 推荐(0)

导航