1. ホーム
  2. scala

[解決済み] 同じ要素をn回含むリストを作るには?

2023-02-10 22:54:38

質問

同じ要素をn回含むリストを作成する方法は?

手動で実装する。

scala> def times(n: Int, s: String) =
 | (for(i <- 1 to n) yield s).toList
times: (n: Int, s: String)List[String]

scala> times(3, "foo")
res4: List[String] = List(foo, foo, foo)

同じことをするための組み込みの方法はありますか?

どのように解決するのですか?

参照 scala.collection.generic.SeqFactory.fill(n:Int)(elem: =>A) のようなコレクションデータ構造は Seq , Stream , Iterator といった具合に、拡張していきます。

scala> List.fill(3)("foo")
res1: List[String] = List(foo, foo, foo)

警告 Scala 2.7では使用できません。