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

Scala Booleans:代码片段

发布时间:2020-12-16 18:40:47 所属栏目:安全 来源:网络整理
导读:我正在使用一些来自 Scala courers的scala代码: package src.functional.week4abstract class Boolean { def ifThenElse[T](t: = T,e: = T): T def (x: = Boolean): Boolean = ifThenElse(x,false)} 线路定义 (x:= Boolean):Boolean = ifThenElse(x,false
我正在使用一些来自 Scala courers的scala代码:

package src.functional.week4

abstract class Boolean {

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

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

}

线路定义&& (x:=> Boolean):Boolean = ifThenElse(x,false)给出此编译时错误:

type mismatch; found : scala.Boolean(false) required:
src.functional.week4.Boolean

以下是视频中的代码段:

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

当我使用创建新的’false’对象时

object false extends Boolean {
      def ifThenElse[T](t: => T,e: => t) = e
  }

我收到错误:

Multiple markers at this line
– identifier expected but ‘false’ found.

我在与’abstract class Boolean’相同的类中定义对象.我无法创建类型为’false’的新对象,因为Eclipse IDE不允许这样做.

解决方法

您的代码(和Martin的)定义了一个新的布尔值,即使它是在Scala中预定义/内置的.

您遇到的问题是您没有定义新的false来取代内置的false,而内置的false与您重新定义的布尔值不兼容.

(编辑:李大同)

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

    推荐文章
      热点阅读