小编Nad*_*ari的帖子

一个集合在Java中最终是什么意思?

在Java中声明最终集合意味着什么?难道不再添加任何元素吗?是否已经存在的元素无法改变?还有别的吗?

java collections final immutability

12
推荐指数
2
解决办法
8070
查看次数

在ScalaTest中组合测试夹具的更好方法

我们有使用贷款模式的测试装置.利用此模式创建运行测试所需的"种子数据".当测试依赖于数据时例如以下

"save definition" should {
"create a new record" in withSubject { implicit subject =>
  withDataSource { implicit datasource =>
    withFormType { implicit formtype =>

        val definitn = DefinitionModel(-1, datasource.id, formtype.id, subject.role.id, Some(properties))
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

其中withSubject,withDataSource,withFormType是测试夹具返回subject,dataSource,formType从数据库数据分别.withDataSource夹具需要subject隐含.建筑DefinitionModel要求datasource.idformtype.id.所以根据测试的数据要求调用这样的数据构建器夹具会产生很多嵌套的夹具情况.有没有更好的方法来"组合"/构建这样的灯具?

scala composition scalatest

6
推荐指数
2
解决办法
3169
查看次数

在访问HOCON文件中的环境变量时```的作用

文档说,我可以访问这样的环境变量:

database_name = "${?DB_NAME}"
Run Code Online (Sandbox Code Playgroud)

DB_NAME环境变量在哪里.我是否必须提出问号?或是否存在问题以防止崩溃(如果它不存在)?

另外,我们是否允许在声明之前引用文件中的变量?

foo = "hello-${bar}"
bar = "baz"
Run Code Online (Sandbox Code Playgroud)

scala typesafe-config

6
推荐指数
1
解决办法
1050
查看次数

在展平函数中使用的模式匹配中的列表[_]的说明

我是scala的新手,我无法理解以下功能

val L = List(List(1, 1), 2, List(3, List(5, 8)))       

def flatten(l: List[Any]): List[Any] =  l flatMap {
    case ms:List[_] => flatten(ms)
    case l => List(l)
}                                         

flatten(L)                      // res2: List[Any] = List(1, 1, 2, 3, 5, 8)
Run Code Online (Sandbox Code Playgroud)

特别是我不理解第一种情况的组合flatMap和模式匹配以及意义ms:List[_]

有人可以解释一下,也许可以提供一个更简单的例子来澄清这个概念吗?

scala pattern-matching partial-functions flatmap

2
推荐指数
1
解决办法
1797
查看次数