码迷,mamicode.com
首页 > 其他好文 > 详细

scala 递归函数

时间:2020-06-19 11:48:05      阅读:43      评论:0      收藏:0      [点我收藏+]

标签:scala   ret   必须   ram   result   cti   UNC   eth   error   

函数的定义为:

def function_name (parameter_list) : return_type = { function_body }

其中,return_type可以省略,使用推断类型,但是recursive method(递归函数)就必须带return_type;函数使用return语句返回值时,必须带return_type;
比如:

def max(x : Int, y : Int)  = {
    if (x > y)
      x
    else
      max(x, y - 1) // ERROR,Recursive method max needs result type 
  }

正确:

def max(x : Int, y : Int):Int = {
    if (x > y)
      x
    else
      max(x, y - 1) 
  }

 

scala 递归函数

标签:scala   ret   必须   ram   result   cti   UNC   eth   error   

原文地址:https://www.cnblogs.com/chong-zuo3322/p/13162088.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!