列表中的3个元组
val l = List(("a","b"),("c","d"),("e","f"))
从每个元组中选择一个元素然后每次返回这个3个字母的单词
例如:fca或afd或cbf ...
如何实现它
与:
相同echo {a,b}{c,d}{e,f}|xargs -n1|shuf -n1|sed 's/\B/\n/g'|shuf|paste -sd ''
答案 0 :(得分:1)
使用元组可能会有点痛苦。您不能轻易地为它们编制索引,并且在类型系统中将不同大小的元组视为不同的类型。
val ts = List(("a","b"),("c","d"),("e","f"))
val str = ts.map{t =>
t.productElement(util.Random.nextInt(t.productArity))
}.mkString("")
每次运行此操作时,我都会得到不同的结果:bde
,acf
,bdf
等。