gpt4 book ai didi

Scala反向字符串

转载 作者:行者123 更新时间:2023-12-04 02:30:44 25 4
gpt4 key购买 nike

我是 Scala 的新手,我只是在编写一个简单的函数来反转给定的字符串:

def reverse(s: String) : String
for(i <- s.length - 1 to 0) yield s(i)

yield 返回一个 scala.collection.immutable.IndexedSeq[Char],并且不能将其转换为 String。 (或者是别的什么?)

我怎么写这个函数?

最佳答案

请注意,已经定义了函数:

scala> val x = "scala is awesome"
x: java.lang.String = scala is awesome

scala> x.reverse
res1: String = emosewa si alacs

但如果你想自己做:
def reverse(s: String) : String =
(for(i <- s.length - 1 to 0 by -1) yield s(i)).mkString

或(有时最好使用 until ,但在这种情况下可能不是)
def reverse(s: String) : String =
(for(i <- s.length until 0 by -1) yield s(i-1)).mkString

另外,请注意,如果您使用反向计数(从大一到小一值),您应该指定负步长,否则您将得到一个空集:
scala> for(i <- x.length until 0) yield i
res2: scala.collection.immutable.IndexedSeq[Int] = Vector()

scala> for(i <- x.length until 0 by -1) yield i
res3: scala.collection.immutable.IndexedSeq[Int] = Vector(16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1)

关于Scala反向字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700399/

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