2013-05-07 6 views
14

昨年私は標準的なMLでかなりの経験がありましたが、私は約10ヶ月で本当の機能プログラミングをしていません。私がScalaの頃になったので、私はコンパイラを書くときに標準的なMLで広く使用していた操作を見つけるのが難しいです(ただし、このメソッドはライブラリメソッドではないかもしれません)。スカラ - タプルリストの2つのリスト

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

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

をそして私は私にこのようなタプルのリスト与える操作したい:私が使うことのできる標準的なScalaの機能があります

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

をこの結果を得るには? (私たちは、標準のMLでのzip機能を呼ばれると思うが、それは私がScalaのジップ機能を探していたときに別の何かを参照しているようだ)

+0

をかなり確かに 'ジップ'があなたが望むもので、何が違うと思うか? –

+0

私はStackoverflowに別のジッパーの定義を与えた記事を見つけたので、私は間違っていると仮定しました。 :/ – GJK

+0

CMUにも行きましたか? – rasen58

答えて

29

あなたは正しい、あなたは、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)) 
+0

ありがとう、私はこれがどんな検索でも上がらなかったとは思わない。私はこの質問の検索の前に良い15分を過ごし、何も出てこなかった。 – GJK

+1

@GJKまた、 '(a、b、c).zipped.toList'のような働きをするタプルのメソッド' .zipped'があります(2つか3つのコレクションを圧縮したい場合) –

+0

実際に見つかったその方法は、私がSimplyScala.comの端末に入力したときにはうまくいかなかったので、私が必要としていたものに対してはうまくいかないと思っていました。 – GJK

関連する問題