- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 简介?近期对Scala比较感兴趣,买了本《快学Scala》,感觉不错。比《Programming Scala:Tackle Multi-Core Complexity on the Java Virtual Machine》好很多。 是本不错的入门书。而且每个章节都设置了难度级别,每章有习题,可以巩固Scala语法。?本文的目的就是针对这些习题进行解答?2 基础?2.1 在Scala REPL中键入3,然后按Tab键。有哪些方法可以被应用??这个。。。。直接操作一遍就有结果了.此题不知是翻译的问题,还是原题的问题,在Scala REPL中需要按3. 然后按Tab才会提示。 直接按3加Tab是没有提示的。下面是结果?
Scala代码??
!=?????????????##?????????????%????????????????????????????*??????????????+??
-??????????????/?????????????????????????????????????????=?????????????==??
??????????????=??????????????????????????????????????^??????????????asInstanceOf??
equals?????????getClass???????hashCode???????isInstanceOf???toByte?????????toChar??
toDouble???????toFloat????????toInt??????????toLong?????????toShort????????toString??
unary_+????????unary_-????????unary_~????????|??
列出的方法并不全,需要查询全部方法还是需要到Scaladoc中的Int,Double,RichInt,RichDouble等类中去查看。?2.2 在Scala REPL中,计算3的平方根,然后再对该值求平方。现在,这个结果与3相差多少?(提示:res变量是你的朋友)?依次进行计算即可?
Scala代码??
scala?scala.math.sqrt(3)??
warning:?there?were?1?deprecation?warnings;?re-run?with?-deprecation?for?details??
res5:?Double?=?1.7320508075688772??
??
scala?res5*res5??
res6:?Double?=?2.9999999999999996??
??
scala?3?-?res6??
res7:?Double?=?4.440892098500626E-16??
2.3 res变量是val还是var??val是不可变的,而var是可变的,只需要给res变量重新赋值就可以检测res是val还是var了?
Scala代码??
scala?res9?=?3??
console:8:?error:?reassignment?to?val??
???????res9?=?3??
????????????^??
2.4 Scala允许你用数字去乘字符串—去REPL中试一下crazy*3。这个操作做什么?在Scaladoc中如何找到这个操作??
Scala代码??
scala?crazy*3??
res11:?String?=?crazycrazycrazy??
从代码可以推断,*是crazy这个字符串所具有的方法,但是Java中的String可没这个方法,很明显。此方法在StringOps中。?2.5 10 max 2的含义是什么?max方法定义在哪个类中??直接在REPL中执行?
Scala代码??
scala?10?max?2??
res0:?Int?=?10??
??
scala?7?max?8??
res1:?Int?=?8??
??
scala?0?max?0??
res2:?Int?=?0??
可以看出,此方法返回两个数字中较大的那个。此方法Java中不存在,所以在RichInt中。?2.6 用BigInt计算2的1024次方?简单的API调用?
Scala代码??
scala?BigInt(2).pow(1024)??
res4:?scala.math.BigInt?=?1797693134862315907729305190789024733617976978942306572734300811577326758055009631327084773224??
075360211201138
您可能关注的文档
最近下载
- 九年级英语上Module8 Sports life Unit 2 He trained hard to be the best教学设计-英语九年级上册.docx VIP
- 知到智慧树网课音乐艺术概论 答案.docx
- 第一单元《新闻写作》教学设计2024-2025学年统编版语文八年级上册.docx
- 设计技术服务方案(投标用).doc
- 高校教师资格证面试说课课件-醛酮.pptx VIP
- 小学五年级上册期中考试数学试卷含答案(共5套,新人教版).docx
- 袁隆平英文ppt.ppt
- 职业性皮肤病医学课件.pptx
- 道路施工交通组织方案模板.doc VIP
- 2020年北京大学全国中学生模拟联合国大会学术标准手册.pdf
文档评论(0)