Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 从每个元组中获取一个随机字母,然后将它们全部作为字符串返回_Scala - Fatal编程技术网

Scala 从每个元组中获取一个随机字母,然后将它们全部作为字符串返回

Scala 从每个元组中获取一个随机字母,然后将它们全部作为字符串返回,scala,Scala,列表中有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 '' 使用元组可能有点痛苦。您无法轻松为它们编制索引,不同大小的元组在类型系统中被视为不同的类型 val ts = List(("a","b")

列表中有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 ''

使用元组可能有点痛苦。您无法轻松为它们编制索引,不同大小的元组在类型系统中被视为不同的类型

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
,等等。

有人给我帮助吗?它们一定是元组吗?如果
l
List
List
(或者更好的
Array
Array
,或者
Vector
Vector
O(1)索引)thx,那就容易多了
vals=List((“a”,“b”),(“c”,“d”),(“e”,“f”))
util.Random.shuffle(s.map{t=>t.productElement(util.Random.nextInt(t.productArity))).mkString(“”