Kotlin Koans:命名参数解决方案
我正在练习科特林,我正在考虑这个问题 命名参数 默认参数和命名参数有助于最小化重载的数量 并提高函数调用的可读性。图书馆 函数joinToString使用参数的默认值声明: 它可以在字符串集合上调用。只指定两个 参数使函数joinOptions()以JSON格式返回列表 格式(例如“[a、b、c]”) 答案是:Kotlin Koans:命名参数解决方案,kotlin,collections,Kotlin,Collections,我正在练习科特林,我正在考虑这个问题 命名参数 默认参数和命名参数有助于最小化重载的数量 并提高函数调用的可读性。图书馆 函数joinToString使用参数的默认值声明: 它可以在字符串集合上调用。只指定两个 参数使函数joinOptions()以JSON格式返回列表 格式(例如“[a、b、c]”) 答案是: fun joinOptions(options: Collection<String>) = options.joinToString(prefix = "[", postf
fun joinOptions(options: Collection<String>) = options.joinToString(prefix = "[", postfix = "]")
所以我只是好奇我是否遗漏了什么他们在这个问题上的目的是什么?println(collection)
调用collection
对象上的toString()
方法,一些集合将以以下格式打印其内容:
[1, 2, 3]
这确实相当于打电话
collection.joinToString(prefix = "[", delimiter = ", ", postfix = "]")
但是,您无法修改此行为,因此,例如,如果您希望在自己的行上打印集合中的每个元素,则必须编写自己的toString()
实现。这就是joinToString()
方便的地方,您只需执行以下操作即可
collection.joinToString(delimiter = "\n")
请注意,您不需要为前缀
或后缀
传递参数,因为默认值适合您的用例
Koans示例可能不那么容易混淆,但它可以说明命名参数和默认值的用法。println(collection)
调用collection
对象上的toString()
方法,一些集合将以以下格式打印其内容:
[1, 2, 3]
这确实相当于打电话
collection.joinToString(prefix = "[", delimiter = ", ", postfix = "]")
但是,您无法修改此行为,因此,例如,如果您希望在自己的行上打印集合中的每个元素,则必须编写自己的toString()
实现。这就是joinToString()
方便的地方,您只需执行以下操作即可
collection.joinToString(delimiter = "\n")
请注意,您不需要为前缀
或后缀
传递参数,因为默认值适合您的用例
Koans示例可能不那么容易混淆,但它可以说明命名参数和默认值的用法。解决方案如下:
fun joinOptions(options: Collection<String>) = options.joinToString(
prefix = "[",
separator = ", ",
postfix = "]"
)
fun jointoptions(选项:集合)=options.joinToString(
前缀=“[”,
分隔符=“,”,
postfix=“]”
)
解决方案如下:
fun joinOptions(options: Collection<String>) = options.joinToString(
prefix = "[",
separator = ", ",
postfix = "]"
)
fun jointoptions(选项:集合)=options.joinToString(
前缀=“[”,
分隔符=“,”,
postfix=“]”
)
当你的前缀是[
时,它真的用一个[
打印第二次了吗?我的错误应该是只有一个[
。我只是通过添加另一个前缀来测试前缀是否有效……当你的前缀是时,它真的用一个[
打印第二次了吗[[
?我的错误应该只有一个。[。我只是通过添加另一个前缀来测试前缀是否有效。。。