You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Scala中向函数传递List参数并完成转换返回?

问题原因
  • 第一是匿名函数语法使用错误:Scala 匿名函数的标准语法为 (参数名: 参数类型) => 函数体,你错误地将返回值类型标注放在了参数列表闭合括号的后方,导致编译器无法正确解析语法,触发identifier expected but integer literal found报错。
  • 第二是逻辑错误:List[Int]类型本身不支持直接和整数执行加法操作,如果你要给列表内的每个元素都加10,需要调用列表的map方法遍历所有元素执行转换。
正确实现代码

两种常用的写法都可以正常运行:

  1. 给函数变量标注完整类型,可读性更高:
val fun: List[Int] => List[Int] = lst => lst.map(_ + 10)
  1. 只标注匿名函数的参数类型,返回值由编译器自动推断:
val fun = (lst: List[Int]) => lst.map(_ + 10)
测试效果

执行fun(List(1,2,3))会返回结果List(11, 12, 13),符合预期的转换逻辑。

内容的提问来源于stack exchange,提问作者ssk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 15:36:11