2015-05-06 130 views
3

我需要一些測試公司的名稱,如「rnd_company_blah23haf9」,「rnd_company_g356fhg57」等生成的字母數字字符串

是否有可能像做

import scala.util.Random 
val company = s"rnd_company_${Random.alphanumeric take 10 ?????}" 

只要有人可以填寫??? ??當然。

回答

15

使用.mkString("")Stream創建String

scala> val company = s"rnd_company_${Random.alphanumeric take 10 mkString}" 
company: String = rnd_company_BbesF0EY1o 
+0

旁註:我的編譯器告訴我在「」刪除不必要的偏見。所以你可以直接寫'take 10 mkString'「'。 – Wolfsblvt

+1

不需要顯式指定空字符串。只是'Random.alphanumeric需要10 mkString' –

2

你有一個例子here

scala> val x = Random.alphanumeric 
x: scala.collection.immutable.Stream[Char] = Stream(Q, ?) 

scala> x take 10 foreach println 
Q 
n 
m 
x 
S 
Q 
R 
e 
P 
B 

所以,你可以試試這個:

import scala.util.Random 
    val company = s"rnd_company_${(xx take 10).mkString}" 
+0

這正是例子我開始。你的代碼中有些東西缺失(Random。*)? – FelixHJ

+0

我忘了將它添加到示例中。謝謝 –