25

昨年、私は標準的な ML についてかなりの経験がありましたが、約 10 か月間、実際の関数型プログラミングを行っていませんでした。私は Scala の時流に乗っているので、コンパイラーを作成するときに標準 ML で広く使用した操作を見つけるのに苦労しています (ただし、公平を期すために、このメソッドはライブラリー・メソッドではなかった可能性があります)。

基本的に、2 つのリストがあります。

List("a","b","c")
List(1,2,3)

そして、次のようなタプルのリストを取得する操作が必要です。

List(("a",1), ("b",2), ("c",3))

この結果を得るために使用できる標準の Scala 関数はありますか? (標準 ML では zip 関数と呼んでいたと思いますが、Scala の zip 関数を検索していたときは別のことを指しているようです。)

4

1 に答える 1

49

そうです、zipを使用できます:

val a = List("a","b","c")
// a: List[String] = List(a, b, c)

val b = List(1,2,3)
// b: List[Int] = List(1, 2, 3)

a zip b  // beautified a.zip(b) 
//res0: List[(String, Int)] = List((a,1), (b,2), (c,3))
于 2013-05-07T15:57:10.847 に答える