从列表中生成字符串[Char]

发布于 2024-11-10 09:35:16 字数 280 浏览 4 评论 0原文

我有 al: List[Char] 字符,我想将其连接并在一个 for 循环中作为字符串返回。

我尝试了这个

val x: String = for(i <- list) yield(i)

导致

 error: type mismatch;  
 found   : List[Char]  
 required: String

那么我怎样才能改变产量的结果类型?

谢谢!

I have a l: List[Char] of characters which I want to concat and return as a String in one for loop.

I tried this

val x: String = for(i <- list) yield(i)

leading to

 error: type mismatch;  
 found   : List[Char]  
 required: String

So how can I change the result type of yield?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

你是我的挚爱i 2024-11-17 09:35:16

试试这个:

val x: String = list.mkString

这个语法:

for (i <- list) yield i

是:的语法糖,

list.map(i => i)

因此将返回原始列表的未更改的副本。

Try this:

val x: String = list.mkString

This syntax:

for (i <- list) yield i

is syntactic sugar for:

list.map(i => i)

and will thus return an unchanged copy of your original list.

恋竹姑娘 2024-11-17 09:35:16

您可以使用以下内容:

val x: String = (for(i <- list) yield(i))(collection.breakOut)

有关breakOut的更多信息,请参阅此问题

You can use the following:

val x: String = (for(i <- list) yield(i))(collection.breakOut)

See this question for more information about breakOut.

白鸥掠海 2024-11-17 09:35:16

您可以使用三个 mkString 重载中的任何一个。基本上,它通过每个元素的 toString 方法将集合转换为平面字符串。重载在每个元素之间添加自定义分隔符。

它是一个Iterable的方法,所以你也可以在Map或Set中使用它。

请参阅 http://www.scala-lang.org/api/ 2.7.2/scala/Iterable.html 了解更多详细信息。

You can use any of the three mkString overloads. Basically it converts a collection into a flat String by each element's toString method. Overloads add custom separators between each element.

It is a Iterable's method, so you can also use it in Map or Set.

See http://www.scala-lang.org/api/2.7.2/scala/Iterable.html for more details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文