gpt4 book ai didi

kotlin - 是否可以在lambda表达式中检索字符串?

转载 作者:行者123 更新时间:2023-12-02 12:39:54 24 4
gpt4 key购买 nike

使用String Spec编写测试:

class stl : StringSpec() {

init {

"triangle.stl" {
...
}
}
}

是否可以在lambda表达式中检索 "triangle.stl"

最佳答案

看起来StringSpec似乎没有公开此信息,但是您可以扩展StringSpec来做到这一点。例如。:

class Spec : StringSpec() {
init {
"triangle.stl" { testCase ->
println(testCase.name)
}
}

operator fun String.invoke(test: (TestCase) -> Unit): TestCase {
var tc: TestCase? = null
tc = invoke(fun() { test(tc!!) })
return tc
}
}

或者,为了避免与现有的 String.invoke发生功能冲突,您可以使用自己的语法对其进行扩展。例如。:
class Spec : StringSpec() {
init {
"triangle.stl" testCase {
println(name)
}
}

infix fun String.testCase(test: TestCase.() -> Unit): TestCase {
var tc: TestCase? = null
tc = invoke { test(tc!!) }
return tc
}
}

关于kotlin - 是否可以在lambda表达式中检索字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41641472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com