scala - Scala String* 类型(在函数 args 中)
问题描述
我有以下方法:
def m(a: String*) = { // ... }
我想知道这种语法中星号 (*) 符号的用途是什么?我显然是 Scala 的新手。我用谷歌搜索,但可能是谷歌搜索错误的东西。任何帮助表示赞赏。
干杯!
解决方案
它被称为“var args”(可变参数)。
def concat(strs: String*): String = strs.foldLeft("")(_ ++ _)
斯卡拉 REPL
scala> def concat(strs: String*): String = strs.foldLeft("")(_ ++ _)
concat: (strs: String*)String
scala> concat()
res6: String = ""
scala> concat("foo")
res7: String = foo
scala> concat("foo", " ", "bar")
res8: String = foo bar
推荐阅读
- java - 我如何从我的 api 调用中获取这个对象,我正在使用改造
- c# - 删除块 html 标签。TinyMCE
- javascript - 如何将图表中的 x 轴值作为字符串获取?
- python - 使用 CNN 进行推文情绪预测
- android - Android:没有通过 app:startDestination 为 xxx:id/nav_graph 定义起始目的地
- sql - 如何比较 SQL Server 中的两个表
- javascript - JavaScript removeChild 来自 dom 的输入
- typescript - 使用对象区分联合类型
- sql - postgresql 的另一列的唯一索引
- android - 颤振错误:在 null 上调用了 getter 'length'