1.在Scala REPL中键入3, 然后按Tab键。有哪些方法可以被应用?
2.在scala REPL中,计算3的平方根,然后再对该值求平方。现在,这个结果与3相关多少?(提示:res变量是你的朋友)
1 2 3 4 5 6 7 8 9 10 11 12 scala> import scala.math._ import scala.math._ scala> math.sqrt(3) res11: Double = 1.7320508075688772 scala> res11 * res11 res12: Double = 2.9999999999999996 scala> 3 - res12 res13: Double = 4.440892098500626E-16
3.res变量是val还是var?
res是val因为:
1 2 3 4 scala> res12 = 134 <console>:15: error: reassignment to val res12 = 134 ^
4.Scala允许你用数字去乘字符串--去REPL中试一下”crazy” * 3. 这个操作做什么?在Scaladoc中如何找到这个操作?
1 2 3 scala> "crazy" * 3 res14: String = crazycrazycrazy
此操作会使用”crazy”重复三次,生成字符串。 此操作属于String的运算符操作,在Scaladoc的StringOps类中可以找到这个操作的详细说明文档在此处
1 2 3 4 5 6 def *(n: Int): String Return the current string concatenated n times . Definition Classes [StringLike](http://www.scala-lang.org/api/2.11.8/index.html
5.10 max 2 的含义是什么? max方法定义在哪个类中?
10与2比较,返回较大的数
max方法定义在Int类中文档
6.用BigInt计算2的1024次方
1 2 3 4 5 6 scala> val x: BigInt = 2 x: scala.math.BigInt = 2 scala> x.pow(1024) res19: scala.math.BigInt = 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216
7.为了在使用probablePrime(100,Random)获取随机数时不在probablePrime和Radom之前使用任何限定符,你需要引入什么?
1 2 3 4 5 6 7 8 9 scala> import scala.util._ import scala.util._ scala> import scala.math.BigInt._ import scala.math.BigInt._ scala> probablePrime(100,Random) res27: scala.math.BigInt = 831336893134383164693951229437
8.创建随机文件的方式之一是生成一个随机的BigInt,然后将它转换成三十六进制,输出类似“qsnvbevtomcj38o06ul”这样的字符串。查阅Scaladoc,找到在Scala中实现该逻辑的办法。
9.在Scala中如何获取字符串的首字符和尾字符?
1 2 3 4 5 scala> "get first element" .head res32: Char = g scala> "get first element" .take(1) res33: String = g
10.tak、drop、takeRight和dropRight这些字符串函数是做什么用的? 和substring相比,它们的优缺点都有哪些?
1 2 3 4 5 6 7 8 9 10 11 12 13 scala> "get first element" .take(1) res33: String = g scala> "drop test" .drop(2) res34: String = op test scala> "take right" .takeRight(2) res36: String = ht scala> "drop right" .dropRight(2) res37: String = drop rig