函数的嵌套(scala)

函数的嵌套

代码


//方法的嵌套
object MethodDemo  extends  App{
  //factor方法
   def factor(x:Int):Int={
     //嵌套方法
    def fact(x:Int,accumltor:Int):Int={
    if(x<=1){
      //println("accumltor(if)="+accumltor)
      accumltor
    } else {
      //println("accumltor(else)="+accumltor)
      //递归
      fact(x-1,x*accumltor)
    }}
     //返回调用嵌套方法的得到的返回值
     fact(x, 1)
   }
  println("factor of 3:"+factor(3))


  //赠送 : 方法多态
  //方法多态:方法可以通过类型实现参数化,类似泛化
  def listOfDuplic[A](x:A,length:Int):List[A]={
    if(length<1)Nil
    else {
      x :: listOfDuplic(x, length - 1)

    }
  }
   println(listOfDuplic[Int](3,length = 0))
   println(listOfDuplic[Int](3,length = 4))
   println(listOfDuplic(3,length = 4))
   println(listOfDuplic("ss",length = 5))
}


运行结果

factor of 3:6
List()
List(3, 3, 3, 3)
List(3, 3, 3, 3)
List(ss, ss, ss, ss, ss)

Process finished with exit code 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值