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

IntelliJ IDEA中Scala Worksheet报'(' expected but identifier found错误求助

Scala Worksheet '(' expected but identifier found报错解决方案

根本原因

你代码中使用的if 条件 then 结果无括号写法是Scala 3专属语法,报错是因为IntelliJ IDEA当前给Scala Worksheet匹配的编译器版本是Scala 2.x,Scala 2不支持该语法,会强制要求if后紧跟括号包裹判断条件,所以触发了括号缺失的编译报错。

修复步骤

  • 确认项目全局Scala版本:进入File -> Project Structure -> Libraries,检查绑定的Scala SDK版本是否为3.x系列,若为2.x请更换为你之前正常使用的Scala 3版本。
  • 单独配置Worksheet编译器版本:打开IDEA设置页Settings -> Languages & Frameworks -> Scala -> Worksheet,将编译版本选择为项目对应的Scala 3 SDK,避免默认调用全局的Scala 2编译器。
  • 强制指定Worksheet编译版本:如果上述配置后仍报错,在Worksheet代码的第一行添加版本声明//> using scala "3.x"(将3.x替换为你实际使用的具体版本号,比如3.3.3)即可强制指定编译版本。
  • Scala 2兼容写法:如果需要临时在Scala 2环境下运行代码,调整if写法即可正常编译:
def silnia(n:Int):Int=
  if (n==0) 1
  else if (n>0) n*silnia(n-1)
  else throw new Exception(s"negative number: $n")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:54:01