2017-03-23 5 views
-1

3タプル例えばたび</p> <p>をこの3文字の言葉を返し、その後、各タプルから文字列のリストで

val l = List(("a","b"),("c","d"),("e","f")) 

選択肢一つの要素として、それらすべてを返却し、各タプルから1つのランダムな文字を取得します: FCAまたはAFDまたはCBF ...

に同じことを実現する方法:

+0

を? thx – mop

+1

彼らはタプルでなければなりませんか? 'l'が' List'の 'List'(あるいはO(1)インデックスのための' Vector'の 'Array'や' Vector'のより良い 'Array') –

答えて

1

タプルを使って作業するのは少し苦しいことがあります。それらを簡単に索引付けすることはできず、異なるサイズのタプルは、型システムでは異なる型とみなされます。

val ts = List(("a","b"),("c","d"),("e","f")) 
val str = ts.map{t => 
    t.productElement(util.Random.nextInt(t.productArity)) 
}.mkString("") 

私はこれを実行するたびに私は別の結果を得る:いずれかは私が助ける与えるbdeacfbdfなど

+0

thxの方がずっと簡単です。 'val s =リスト(" "a"、 "b")、( "c"、 "d")、( "e"、 "f")) ' ' util.Random.shuffle mkString( "") '.map {t => t.productElement(util.Random.nextInt(t.productArity)) } – mop

関連する問題