scala偏函数小栗子

package cn.beicaiqm.scala.day04

/**
  * Created by Administrator on 2018/6/1.
  * 被包在花括号内没有match的一组case语句是一个偏函数,
  * 它是PartialFunction[-A, +B]的一个实例,A代表参
  * 数类型,B代表返回类型
  */
object Demo09PartialFunction {

  def main(args: Array[String]) {
    println(getInfo(20))
    println(getInfo2(20))

  }

  //使用模式匹配实现参数的判断
  def getInfo(age: Int): String = age match {
    case 10 => s"age=10"
    case 20 => s"age=20"
    case 30 => s"age=30"
  }

  //使用模式匹配实现参数的判断
  def getInfo1(age: Int): String = {
    age match {
      case 10 => s"age=10"
      case 20 => s"age=20"
      case 30 => s"age=30"
    }
  }

  def getInfo2: PartialFunction[Int,String] = {
    case 10 => s"PartialFunction-age=10"
    case 20 => s"PartialFunction-age=20"
    case 30 => s"PartialFunction-age=30"
  }

}

原文地址:https://www.cnblogs.com/pingzizhuanshu/p/9125638.html

时间: 2024-08-04 18:14:55

scala偏函数小栗子的相关文章

Javaweb统计在线人数的小栗子

最近在学习Javaweb相关的内容(不黑不吹之前对web开发零基础),下面通过一个统计在线人数的小栗子讲讲Servlet监听器吧 开发环境 eclipse  tomcat 7 先说说这个小栗子的构思: 首先要考虑的就是通过什么方式能够统计在线人数?很容易想到可以通过session来统计在线人数为什么不是request呢?因为request在请求结束时即服务器返回资源时就被销毁了,也就是说request的作用域不足以用以统计在线人数.服务器在第一次接受一个用户请求时会给该用户分配一个session

一个小栗子聊聊JAVA泛型基础

背景 周五本该是愉快的,可是今天花了一个早上查问题,为什么要花一个早上?我把原因总结为两点: 日志信息严重丢失,茫茫代码毫无头绪. 对泛型的认识不够,导致代码出现了BUG. 第一个原因可以通过以后编码谨慎的打日志来解决,我们今天主要来一起回顾下JAVA泛型基础. 一个小栗子 先看下面一个例子,test1实例化一个List容器的时候没有指定泛型参数,那么我们可以往这个容器里面放入任何类型的对象,这样是不是很爽?但是当我们从容器中取出容器中的对象的时候我们必须小心翼翼,因为容器中的对象具有运行时的类

py爬虫 —— 三个爬虫的小栗子

三个爬虫的小栗子 第一个例子 —— 京东商品的爬取案例 import requests def getHTMLtext(url): try: r = requests.request('get' ,url ) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return "出现异常" url = "https://item.jd.com/100005477055.html&

Scala偏函数与部分函数

函数 1.部分函数 部分应用函数(Partial Applied Function)是缺少部分参数的函数,是一个逻辑上概念. def sum(x: Int, y: Int, z: Int) = x + y + z, 当调用sum的时候,如果不提供所有的参数,或者只提供某些参数时,比如sum _ , sum(3, _: Int, _:Int), sum(_: Int, 3, 4), 这样就生成了所谓的部分应用函数. 第一种形式(不推荐): 第一种定义形式: def sum(x: Int)(y: I

scala偏函数

前言 在Spark中会经常看见一种在Java中没有的语法(此处Java特指Java8+),类似下面这样子的: pairs.filter{case (key, value) => value.length < 20} 在scala中函数是不支持元组作为参数的,因此就需要引入偏函数这个概念. 什么是偏函数 偏函数是一种可以对参数类型进行判断,从而选择合适的处理方式的语法. 偏函数的基本形式如下所示: val pf2:PartialFunction[Any,String]={case d:Doubl

ajax跨域请求 小栗子 jsonP

跨域简单理解就是跨服务调用方法 一个常见的ajax模板  前台jsp 后台接受请求 运行结果 结局方法 返回成功 本栗子楼主按视频教程截图........

php实现监控在线服务应用程序小栗子

下面我就给大家举个栗子(例子) 某单位需要实现监控服务器状态,和监控服务器应用网站,还有需要监控服务器的中间件,数据库状态监控.听到这个任务是不是恨透头疼,这想起来是不是头疼.还好有系统可用,但是我现在看来又发现了一个问题,那些应用现在都被虚拟化了,能用监控系统监控的只有固定的服务器.其他的虚拟化的主机都无法经行监控.现在我就提供一个监控解决方案. 1.该方案是基于TCP , IP协议,http协议的请求解决方案.我们可以通过监控主机的IP地址和端口获取该台服务器上所有的应用和服务状态.前提是在

python入门之小栗子

点球小游戏: from random import choice score=[0,0]direction=['left','center','right'] def kick(): print '=====You Kick!=====' print 'Choose one side to shoot' print 'left center right' you=input() print 'You kicked '+you com=choice(direction) print 'Comput

关于导航宽度高度自适应的小栗子

1 /* 2 * To change this license header, choose License Headers in Project Properties. 3 * To change this template file, choose Tools | Templates 4 * and open the template in the editor. 5 */ 6 /* 自定义代码 */ 7 function windowResize() { 8 var winW = $(wi