请选择 进入手机版 | 继续访问电脑版

risc-v中文社区

 找回密码
 立即注册
查看: 1094|回复: 0

[原创] risc-v开发基础 Scala f:Int=>PartialFunction---(28)

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2021-8-27 16:15:12 | 显示全部楼层 |阅读模式
class ParametersPartialFunction (f: (Int) => PartialFunction[Int,Int]) {
  def m1(site:Int):String = {
    val g = f(site) //并不是常规意义上的调用函数来获取比如Int值,而是调用特殊函数,只不过这个函数输入一个Int,返回的是一个偏函数
    if(g.isDefinedAt(site)) g(site).toString //到了这一行,则是对偏函数进行isDefinedAt和apply调用了
    else "null value"
  }
}
object ParametersPartialFunction {
  def main(args: Array[String]): Unit = {
    val p = new ParametersPartialFunction( x => {
      case x if (x == 1 || x == 2) => x + 1
    })
    val v = p.m1(1)
    val v2 = p.m1(3)
    println(v)
    println(v2)

  }
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-3-29 05:37 , Processed in 0.013855 second(s), 17 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表