case-class相关内容
下面第9行发生了什么事情,使result变量可以在第10行访问? 示例来自Akka documentation on testing。第八行中的Ask返回一个scala.concurrent.Future。Future.value()返回Option[Try[T]],它将是Some(Success(t))或Some(Failure(error))。然后调用Some.get,它应该返回t或错误
..
我正在尝试使用 Scala 宏来创建单参数 copy 方法的案例类映射,每个方法都接受一个 Play Json JsValue 和一个案例类实例,并返回实例的更新副本.但是,我遇到了返回函数对象的宏语法问题. 给定一个案例类 case class Clazz(id: Int, str: String, strOpt: Option[String]) 目的是创建类的复制方法的映射 隐式定
..
我正在制作一个通过反射字段值设置的 Scala 应用程序.这工作正常. 但是,为了设置字段值,我需要一个已创建的实例.如果我有一个带有空构造函数的类,我可以使用 classOf[Person].getConstructors.... 轻松做到这一点. 但是,当我尝试使用具有非空构造函数的 Case 类执行此操作时,它不起作用.我拥有所有字段名称及其值,以及我需要创建的 Object 类
..
我在 Google 中搜索以找到 case class 和 class 之间的区别.每个人都提到,当您要对类进行模式匹配时,请使用案例类.否则,请使用类并提及一些额外的好处,例如 equals 和哈希代码覆盖.但是这些是人们应该使用案例类而不是类的唯一原因吗? 我想 Scala 中的这个特性应该有一些非常重要的原因.有什么解释或者有什么资源可以了解更多关于 Scala 案例类的信息?
..
当一个 case 类有很多字段并且它们的名字很长时,将每个字段写在每一行中通常是一个好主意: case class Person (名称:字符串,年龄:Int) 这类似于 C/C++ struct 定义并且即使在 case 类变大时也完全可读.但是 IntelliJ IDEA 的默认 Scala 插件会自动更改其缩进: case class Person (名称:字符串,年龄:Int) 这
..
在 Scala 2.8 中有没有办法重载 case 类的构造函数? 如果是,请放一个片段来解释,如果不是,请解释原因? 解决方案 重载构造函数对于 case 类并不特殊: case class Foo(bar: Int, baz: Int) {def this(bar: Int) = this(bar, 0)}新 Foo(1, 2)新富(1) 但是,您可能还想重载伴随对象中的 a
..
我正在尝试在特征中使用协变类型参数来构造一个案例类,如下所示: trait MyTrait[+T] {私人案例类 MyClass(c: T)} 编译器说: error: 协变类型 T 出现在值 c 的类型 T 的逆变位置 然后我尝试了以下但它也不起作用: trait MyTrait[+T] {私人案例类 MyClass[U 这次的错误是: error: 协变类型 T 出现在类型中的
..
我有一个简单的 Scala 案例类实例列表,我想使用 list.sorted 以可预测的字典顺序打印它们,但收到“没有为...定义隐式排序". 是否存在为案例类提供字典顺序的隐式? 是否有简单的惯用方法将字典顺序混合到 case 类中? scala>案例类A(标签:字符串,负载:Int)标度>val l = List(A("words",50),A("article",2),A("l
..
在寻找其他东西时,完全出于巧合,我偶然发现了一些关于案例类继承是多么邪恶的评论.有一个叫做 ProductN 的东西,可怜的和国王的,精灵和巫师的,以及某种非常理想的属性是如何随着案例类继承而丢失的.那么案例类继承有什么问题? 解决方案 一句话:平等 case 类提供了 equals 和 hashCode 的实现.被称为 equals 的等价关系的工作原理如下(即必须具有以下属性):
..
有特点 trait Persisted {定义:长} 如何实现一个方法来接受任何 case 类的实例并返回其混合了 trait 的副本? 该方法的签名如下: def toPersisted[T](instance: T, id: Long): T with Persisted 解决方案 这可以通过宏来完成(从 2.10.0-M3 开始正式成为 Scala 的一部分).这是您要查找的
..
我在 Google 中搜索以找到 case class 和 class 之间的区别.每个人都提到,当您要对类进行模式匹配时,请使用案例类.否则,请使用类并提及一些额外的好处,例如 equals 和哈希代码覆盖.但是这些是人们应该使用案例类而不是类的唯一原因吗? 我想 Scala 中的这个特性应该有一些非常重要的原因.有什么解释或者有什么资源可以了解更多关于 Scala 案例类的信息?
..
是否有关于何时使用案例类的最佳实践指南(或 case 对象)与在 Scala 中扩展枚举? 它们似乎提供了一些相同的好处. 解决方案 一个很大的区别是 Enumeration 支持从一些 name 字符串实例化它们.例如: object Currency extends Enumeration {val GBP = Value(“GBP")val EUR = Value(“EUR"
..
如果我有以下带有私有构造函数的案例类,并且我无法访问伴随对象中的应用方法. case class Meter private (m: Int)val m = Meter(10)//不能访问 Meter 类中的构造函数 Meter... 有没有办法使用带有私有构造函数的 case 类,但将生成的 apply-method 保留在伴随的 public 中? 我知道这两个选项之间没有区别(在我
..
我正在尝试使用 spark Dataset API 读取 json 文件,问题是此 json 在某些字段名称中包含空格. 这将是一个 json 行 {"字段名称":"值"} 我的案例类需要这样 case class MyType(`Field Name`: String) 然后我可以将文件加载到 DataFrame 中,它会加载正确的架构 val dataframe = spark
..
以下示例代码尝试将一些案例对象放入数据帧中.代码包括使用此特征的案例对象层次结构和案例类的定义: import org.apache.spark.{SparkContext, SparkConf}导入 org.apache.spark.sql.SQLContext密封性状 一些case 对象 AType 扩展了一些case 对象 BType 扩展了一些案例类数据(名称:字符串,t:一些)对象示例
..
以下示例代码尝试将一些案例对象放入数据帧中.代码包括使用此特征的案例对象层次结构和案例类的定义: import org.apache.spark.{SparkContext, SparkConf}导入 org.apache.spark.sql.SQLContext密封性状 一些case 对象 AType 扩展了 Somecase 对象 BType 扩展了一些案例类数据(名称:字符串,t:一些)对
..
为什么 Spark 中的模式匹配与 Scala 中的模式匹配不同?请参见下面的示例...函数 f() 尝试对类进行模式匹配,这在 Scala REPL 中有效,但在 Spark 中失败并导致所有“???".f2() 是一种使用 .isInstanceOf() 在 Spark 中获得所需结果的解决方法,但我知道这在 Scala 中是不好的形式. 对于在 Spark 中以正确方式匹配模式的任何帮
..
我有一个案例类: case class EvaluateAddress(addressFormat: String,筛选地址类型:字符串,值:选项[字符串]){} 这一直很好,直到我有了一个新用例,其中“value"参数可以是类对象而不是字符串. 我处理这个用例的初始实现: case class EvaluateAddress(addressFormat: String,筛选地址类型:
..
给定的简化代码示例: 密封性状 A {val c1: 字符串val c2: 整数def copy[Z 如何在特征 A 中定义 copy 方法,以便它匹配为案例类和“目标"文件生成的方法?给定定义会进行类型检查并抱怨 B 和 C 类中缺少方法 copy. 解决方案 scala 编译器不会为定义名为 copy 的方法的 case 类生成复制方法. scala -Xprint:typer
..
我在将具有 > 22 列的表专门映射到 case 类 时遇到问题,假设您有以下代码 import slick.driver.PostgresDriver导入 scala.slick.collection.heterogenous._导入语法._导入 shapeless.Generic案例类TwentyThreeCaseClass(val id:Option[Long],第一个:字符串,值二:字符
..