第一章 基础
1 在REPL模式下输入 3.
然后按tab键。有哪些方法可以被应用?
答: [root@bigdata01 bin]# sh scala
Welcome to Scala 2.13.0 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_65).
Type in expressions for evaluation. Or try :help.
scala> 3.
!= << abs getClass isValidByte min toByte toOctalString
% <= byteValue intValue isValidChar round toChar toRadians
& == ceil isFinite isValidInt self toDegrees toShort
* > compare isInfinite isValidLong shortValue toDouble unary_+
+ >= compareTo isInfinity isValidShort sign toFloat unary_-
- >> doubleValue isNaN isWhole signum toHexString unary_~
/ >>> floatValue isNegInfinity longValue to toInt until
< ^ floor isPosInfinity max toBinaryString toLong |
2 在Scala REPL中,计算3的平方根,然后再对该值求平方。现在,这个结果与3相差多少?(提示:res变量是你的朋友)
答:scala> math.sqrt(3)
res2: Double = 1.7320508075688772
scala> math.pow(res2,2)
res3: Double = 2.9999999999999996
scala> 3-res3
res4: Double = 4.440892098500626E-16
3 res变量是val还是var?
答:res是val的,val是不可变变量,var是可变变量
scala> math.pow(16,2)
res1: Double = 256.0
scala> res1 = 16
^
error: reassignment to val
4 Scala允许你用数字去乘字符串—去REPL中试一下"crazy"*3。这个操作做什么?在Scaladoc中如何找到这个操作?
答:scala> "crazy"*3
res2: String = crazycrazycrazy
scala> 3*"crazy"
^
error: overloaded method value * with alternatives:
(x: Double)Double <and>
(x: Float)Float <and>
(x: Long)Long <and>
(x: Int)Int <and>
(x: Char)Int <and>
(x: Short)Int <and>
(x: