Magnolia Tech

いつもコードのことばかり考えている人のために。

Scala 2.13におけるStringに対するtoIndexedSeqの挙動

Scala 2.12と、2.13で返す型が変わっていますが、ドキュメント上で探すことができませんでしたのでここに書いておきます。

Welcome to Scala 2.12.8 (OpenJDK 64-Bit Server VM, Java 12.0.1).
Type in expressions for evaluation. Or try :help.

scala> val chars = "こんにちは世界".toIndexedSeq
chars: scala.collection.immutable.IndexedSeq[Char] = Vector(こ, ん, に, ち, は, 世, 界)
Welcome to Scala 2.13.0-RC3 (OpenJDK 64-Bit Server VM, Java 12.0.1).
Type in expressions for evaluation. Or try :help.

scala> val chars = "こんにちは世界".toIndexedSeq
chars: IndexedSeq[Char] = こんにちは世界

scala> chars.getClass
res0: Class[_ <: IndexedSeq[Char]] = class scala.collection.immutable.WrappedString

WrappedStringを返す方が余計なコピーも無くてよさそうですね。