首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala Booleans :代码片段

Scala Booleans :代码片段
EN

Stack Overflow用户
提问于 2013-04-17 15:39:02
回答 2查看 728关注 0票数 6

我正在使用库瑟拉上scala程序中的Scala代码:

代码语言:javascript
复制
package src.functional.week4

abstract class Boolean {

  def ifThenElse[T](t: => T, e: => T): T

  def && (x: => Boolean): Boolean = ifThenElse(x, false)

}

def && (x: => Boolean): Boolean = ifThenElse(x, false)给出了编译时错误:

类型不匹配;找到: scala.Boolean(false)必需:src.function al.Week 4。

下面是视频中的代码片段:

我需要修改代码才能编译吗?

创建新的“false”对象时,使用

代码语言:javascript
复制
  object false extends Boolean {
      def ifThenElse[T](t: => T, e: => t) = e
  }

我收到错误:

在这一行的多个标记-预期的标识符,但“假”发现。

我在与‘抽象类布尔’相同的类中定义对象。由于Eclipse不允许这样做,我无法创建一个类型为'false‘的新对象。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-17 15:51:14

您的代码(和Martin的代码)定义了一个新的Boolean,尽管它是在Scala中预定义/内置的。

您遇到的问题是,您还没有定义一个新的false来取代内置的false,并且内置的false与您重新定义的Boolean不兼容。

票数 6
EN

Stack Overflow用户

发布于 2013-04-17 16:29:39

由于truefalse是保留词,不能重新定义,所以讲座中的代码不能编译。尝试使用TrueFalse

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16064384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档