【发布时间】:2020-06-17 00:26:12
【问题描述】:
scala> def nextOption = if (util.Random.nextInt > 0) Some(1) else None
nextOption: Option[Int]
scala> nextOption
res1: Option[Int] = Some(1)
scala> nextOption
res3: Option[Int] = None
尝试学习scala,下面执行的代码几个问题:
1. nextOption 定义的右边部分是否考虑了函数字面量?
2. 如果使用 'val' 关键字而不是 'def' 定义它会改变吗?
3. 为什么 nextOption 类型是 Option[Int] 而不是函数? ( ()=>Option[Int] )
4. 在这段代码中添加括号或括号会改变它的类型/值吗?
5. nextOption 和'() => if (......) some(1) Else None'之类的有什么区别
【问题讨论】:
标签: scala