scala函数中if return出错

木木木yanyanyan 发布于 2017/01/17 19:11
阅读 216
收藏 0
def vertify(a:Int):Int= {
    val result = 3
    if(a>4) {
      val result = a
    }
    return result
  }

然后运行
scala> vertify(5)
res4: Int = 3

为什么不是5是3,
加载中
1
如比如比
如比如比
是重定义和作用域的事。看看这一片吧。http://haolloyin.blog.51cto.com/1177454/384173
木木木yanyanyan
木木木yanyanyan
谢谢你,我看了那篇博客,受益匪浅,特意下载了那本书,果然在7.7章节中发现了答案
0
大洋的顶端
大洋的顶端

return 仔细看清楚啊。 上面的if 少了return没有返回的

我没有学过这门语言 但是也能猜到

大洋的顶端
大洋的顶端
回复 @木木木yanyanyan : 看清楚变量命名,你在一个函数里面两次命名同一变量
木木木yanyanyan
木木木yanyanyan
但是输入5的话,不是满足if语句,此时的result应该是5吧
0
T_T_J
T_T_J
哥们 你在if里面重新定义了result啊    外面肯定拿不到啊
木木木yanyanyan
木木木yanyanyan
是的,是作用域的限制吧
0
A
AIU_MEN

局部变量和全局变量

返回顶部
顶部