加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在负数上的toString不能在Scala工作表中编译

发布时间:2020-12-16 18:33:15 所属栏目:安全 来源:网络整理
导读:如果我在 Eclipse中创建Scala工作表,如下所示: object negative { 2.toString // res0: String = 2 (2).toString // res1: String = 2 // compile error (-2).toString} 最后一行导致编译错误: ‘;’ expected but ‘)’ found. illegal start of simple e
如果我在 Eclipse中创建Scala工作表,如下所示:

object negative {

  2.toString                                //> res0: String = 2

  (2).toString                              //> res1: String = 2

  // compile error
  (-2).toString
}

最后一行导致编译错误:

‘;’ expected but ‘)’ found. illegal start of simple expression

但是,相同的三行在正常的Scala源文件中编译并运行正常.

为什么这在工作表中不起作用?

这是使用Eclipse 3.7.2,Scala IDE 3.0.0.v-2_10,Scala Worksheet 0.1.4.v-2_10

[更新:这个问题最初用于BinaryString,但是即使用toString也会出现问题,所以我简化了它]

解决方法

这是一个错误.工作表的主对象(第一个)中的代码在执行之前被检测.在上面提到的2个案例中,检测的结果不是有效的Scala代码.

但是,如果代码位于主对象的顶层,那么这只是一个问题.如果代码被移动到同一文件中的函数或不同的对象,它可以正常工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读