1.简化代码 package com.scala.first import java.io.File import javax.management.Query /** * Created by common on 17-4-5. */ object FileMatcher { def main(args: Array[String]) { for (file <- filesHere) println(file) println() for (file <- filesMatching(&q…
简介 函数是可以重用的程序段.首先这段代码有一个名字,然后你可以在你的程序的任何地方使用这个名称来调用这个程序段.这个就是函数调用,在之前的学习中我们已经使用了很多的内置函数像type().range(). 通过关键字def定义函数 def 函数名([参数]): 代码块 一个简单的函数 def sayHello(): print('Hello world!') sayHello() 运行结果 函数参数 函数中的参数名称为形参,提供给函数调用的值称为实参. 参数在函数定义的圆括号中指定,使用“,”…
闭包,和js中的闭包一样,返回值依赖于声明在函数外部的一个或多个变量,那么这个函数就是闭包函数. val i: Int = 20 //函数func的方法体中使用了在func外部定义的变量 那func就是个闭包函数 val func = (x: Int) => x + i 柯里化(Currying)指的是把原来接受多个参数的函数变换成接受一个参数的函数过程,并且返回接受余下的参数且返回结果为一个新函数的技术.柯里化并不是scala特有的,js中也有. package com.zy.scala ob…
1.定义一个类 class Person{ //用val修饰的变量是只读属性,有getter但是没有setter val id ="111" //用var修饰的变量既有getter又有setter var age:Int =18 //类私有字段,只能在类的内部使用,只有伴生对象内可以使用 private var name:String ="aaa" //对象是由字段,访问权限更加严格,只有person类的方法才能访问当前对象的pet字段 private[this]v…
无参方法 功能:将方法的定义转换为属性字段的定义: 作用范围:方法中没有参数,并且方法仅能通过读取所包含的对象属性去访问可变状态,而不改变可变状态,就可使用无参方法: 例子: abstract class Element{     def texts:String } class Sub1Element(text:String) extends Element{     val texts:String = text } object RunApplication{     def main(a…
先给大家介绍什么是柯里化与反柯里化 百度翻译: 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的. 柯里化 柯里化又称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具…
class Rational(n: Int, d: Int) { require(d != 0) private val g: Int = gcd(n, d) val number: Int = n / g val denom: Int = d / g def this(n: Int) = this(n, 1) override def toString: String = if (denom != 1) number + "/" + denom else number.toStrin…
课程原视频:https://www.bilibili.com/video/BV1wy4y1D7JT?p=2&spm_id_from=pageDriver 目录 一.React 概述 1.1.React 开发背景 1.2.模块与组件.声明式与组件化 1.3.虚拟DOM与真实DOM 二.React 入门 2.1.Hallo React 2.2.JSX语法规则 2.3.JS语句(代码)与JS表达式的区别 三.面向组件编程 3.1.函数式组件 3.2.类式组件 3.3.组件实例的三大核心属性 3.3.1…
一.概念 柯里化(currying, 以逻辑学家Haskell Brooks Curry的名字命名)指的是将原来接受两个参数的函数变成新的接受一个参数的函数的过程.新的函数返回一个以原有第二个参数作为参数的函数. 在Scala中方法和函数有细微的差别,通常编译器会自动完成方法到函数的转换. 二.Scala中柯里化的形式 Scala中柯里化方法的定义形式和普通方法类似,区别在于柯里化方法拥有多组参数列表,每组参数用圆括号括起来,例如: mysum方法拥有两组参数,分别是(x: Int)和(y: I…
1.Akka RPC通信案例改造和部署在多台机器上  1.1 Akka RPC通信案例的改造(主要是把一些参数不写是) Master package com._51doit.akka.rpc import akka.actor.{Actor, ActorRef, ActorSystem, Props} import com.typesafe.config.ConfigFactory import scala.concurrent.duration._ import scala.collectio…