scala - 如何在 scala 中声明具有多个返回的匿名函数?
问题描述
我想MyValue
使用匿名函数的结果声明一个字符串类型的常量值。现在我使用声明的函数有类似的东西getValue
// Start writing your ScalaFiddle code here
val n = 23
def getValue(): String = {
if (n == 1) return "One"
if (n == 2) return "Two"
return "Another value"
}
val MyValue = (getValue())
println(n)
println(MyValue)
我怎么能使用匿名函数呢?所以它看起来像这样
val n = 23
val MyValue = (() => {
if (n == 1) return "One"
if (n == 2) return "Two"
return "Another value"
})()
println(n)
println(MyValue)
但这给了我以下错误:
ScalaFiddle.scala:7: error: return outside method definition
if (n == 1) return "One"
^
ScalaFiddle.scala:8: error: return outside method definition
if (n == 2) return "Two"
^
ScalaFiddle.scala:9: error: return outside method definition
return "Another value"
^
解决方案
您可以在条件句中删除return
和使用:else
val MyValue = (
() => {
if (n==1) "One"
else if (n==2) "Two"
else "Another value"
}
)()
推荐阅读
- python - 以编程方式递归查找所有正在使用的函数
- google-colaboratory - 在 Google Colaboratory 机器上打开端口
- docker-compose - 我将springboot jar文件构建到镜像中,但是当我运行它时,我无法连接mysql
- azure - azure - 使用 DB 自动缩放 VM
- javascript - 如何在 vuetify 和 typescript 中以编程方式聚焦 v-textarea?
- jquery - 在表格视图 ASP.NET MVC 中显示从 AJAX 请求到控制器的动态数据
- python - 将置信区间计算为分位数
- python - DataFrame detect when one column becomes bigger than another
- react-native - 是否可以在 Modal (react-native) 中使用 searchableDropdown?
- django - URL 不会重定向到 detailview pk Django