范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

纳尼?为了让你用val,Scala连if的语法都改了

  在之前的文章《Java程序员如何写出更加函数式的代码?》中,我们说,写出更健壮的代码的方式之一就是不用var编程。
  在《Programming in Scala》的第7章,作者通过一个例子对这句话做出了诠释。
  这是一个刚从Java转Scala的新手的常规写法:var filename = "default.txt" if (!args.isEmpty)   filename = args(0)
  从功能上讲,当然是没有什么问题的。但是,更加专业的写法应该是下面这个样子的: val filename =    if (!args.isEmpty) args(0)    else "default.txt"
  纳尼?if...else...还能直接返回一个结果?万物皆表达式
  是的,没错,在学习Schame的时候就接受了这样一个理念:万物皆表达式。通常我们在Java中会把代码分成2类:一类是语句:比如System.out.println啊之类的,另一类则是表达式,比如1+2。
  Scala的身体里流着一半函数式的血液,在函数式编程的世界观里:programs are viewed as computing a value, thus the components of a program should also compute values.
  程序是用来计算以获得某个值的,因此,程序的"零部件"也应该是用于计算某些值的。
  因此,Scala沿袭了这一套设定,基础的控制结构如:if、while、for、try、match等,均返回的是一个值。
  通过这样的设定,我们可以直接把if...else...的结果返回给filename,因此,filename不再需要是一个var了。val的好处
  这里再结合具体的例子强调一下val的好处。
  首先,我们知道程序都是"写一次,读N次"。在可读性方面,val能让后来者明确的知道filename是个啥,比如一旦赋值完成,后面打一行日志,你再也不用纠结这个filename是不是被各种改来改去过(尤其是某个返回void的方法,里面一通set操作)。可以节省不少扒代码排查问题的时间。
  第二个好处,是val更容易做到引用透明。也就是说,println(filaname),可以无缝的被替代为println(if (!args.isEmpty) args(0) else "default.txt")。
  这块的具体好处,先埋一个坑,后面慢慢填吧

华为正式推出openEuler服务器操作系统自己不做商业版3月27日,在线上举办的华为开发者大会HDC2020上,华为正式推出了openEuler20。03LTS版本,任何伙伴均可免费获取LTS版本并商业化。华为CloudAIBG总裁侯金继鸿蒙系统后,华为大量注册鸿系列商标众所周知,鸿蒙是华为公司发布的一个操作系统。自2019年第一次出现在我们面前,两年时间里鸿蒙系统用户数量已经突破一亿大关,占到了全球5左右的操作系统市场份额。根据华为官方计划,预计魅蓝要回来了?魅族扩展魅蓝商标类别2014年,魅族正式发布了旗下的子品牌魅蓝。随后陆续推出了魅蓝品牌的相关产品。魅蓝以QualityForYoung(青年良品)为品牌内核,很快便收获了大量的用户关注,得到了不错的销4K高清OPPOK9智能电视,带你和家人其乐融融观影现在大家还是一人一台手机玩自己的,没有丝毫的交流!怎么回事,赶快打开这些4K高清智能电视吸引大伙的注意呀,看同一部电视剧,又说有笑,有评有论的,好不开心,其乐融融才是一家人的面貌!手机慢速度快门平移跟拍高清图片8月3日晚上八点练习慢速度快门平移跟拍尝试用高清画质拍摄照片如附图分享ISO2626,S117,图片有13。6MBISO1798,S120,图片有16。2MBISO1414,S11手机慢速度快门平移跟拍设定高清画质8月15日拍摄16秒平移跟拍后拍摄高清画质平移跟拍照片分享如附图,感觉是否清晰一些。f1。8,ISO1237,S117s,13。8MBf1。8,ISO1293,S117s,14。6手机慢速度快门平移跟拍高清图片8月8日晚上八点半左右继续拍摄平移跟拍用专业模式的高清画质拍摄,照片分享如附图ISO1552,S120s,15。1MBISO1507,S120s,14。8MBISO1444,S12两张抓拍图片比较9月6日晚上八点半拍摄完路口抓拍回到小区楼下广场,有一群大爷大妈在跳舞吧!拿起手机不客气就抓拍一张超清画质的照片感觉不满意,改用专业调整ISO与快门速度,我比较喜欢手动设定的曝光充66元一支的钟薛高,知识产权保护如何?近日,钟薛高雪糕最贵一支66元登上热搜,被称为雪糕界的爱马仕,网友表示是它太贵还是我不配?钟薛高是一家创立于2018年的中式雪糕品牌,以独特的瓦片形状,体现美美的中国风,短时间内迅拿下字节汽车商标,字节也要造车?近日,字节跳动以内部转让的方式拿下了字节汽车的商标,国际分类包含了42类设计研究38类通讯服务9类科学仪器等。此消息一出,一时间引发热议,难道互联网造车的巨头们真的这么热衷于造车?腾讯微视商标保卫战,历时1年半,腾讯胜诉众所周知,腾讯微视是腾讯旗下短视频创作平台与分享社区,大家都习惯于简称为微视。为保护品牌发展,腾讯公司于2018年曾申请了腾讯微视腾讯微视相机腾讯微视智能眼镜等商标,注册在第9类科
如果手机被淘汰了,代替它的会是什么?有宝马快递。鸿雁传书。飞鸽传情。来代替!大不了回到三四十年以前去呗!马斯克说,手机暂不淘汰,要淘汰的是电信类运营商。他目前正在做的就包括这件事将来买他的手机,上网终身免费。还是人研小米手机为什么打游戏那么热?因为没华为爱国。小米几年前的型号发热问题着实严重,就有了为发烧而生的口号,其根本原因只要还是为了提高性能,打开市场没有给骁龙的处理器做降频优化,之前的型号一直在凸显性能。现在发热也vivox60手机性能怎么样?vivoX60采用的是三星Exynos1080处理器,这款处理器采用三星5nm工艺制造,CPU部分是4个A78大核4个A55小核,4个A78大核是由1个2。8GHz3个2。6GHz匪夷所思,华为鸿蒙商标申请被驳回!其实鸿蒙在1989年就出现大家都知道之前不久的中美贸易战。在那次贸易战中,美方对中方的限制中不仅是对于芯片出口,半导体限制,还有对一系列的手机厂商的限制,其中被限制的名单中便有华为这家明星公司。一次出口封杀中国威武!华为鸿蒙正式上线,将打破谷歌安卓在手机市场的垄断2019年8月9日的广东东莞十分热闹,在万众瞩目的华为开发者大会中,华为正式发布操作系统鸿蒙OS。这个宣布到底意味了什么?对于华为本身中国电子科技企业,和世界国际市场都会有哪些影响为什么挖矿最赚钱挖矿为什么最赚钱矿工是区块链食物链的顶端没有矿工参与记账,区块链去中心化就无法实现,安全也无从谈起矿工是既区块链技术方一人之下万人之上的人矿工是给屯币炒币的人供应币的人交易所炒币屯汽车数据安全管理规定征求意见特斯拉支持并响应中新经纬客户端5月12日电12日晚间,针对国家网信办就汽车数据安全管理规定征求意见,特斯拉官方微博回应称,支持并响应行业发展进一步走向规范,共同助力技术创新。同时,特斯拉还称,欢迎壹现场丨乐视网10年财务造假被多名投资者诉至法院乐视网信息技术(北京)股份有限公司(以下简称乐视网)因十年财务造假等违法事实,受到中国证监会行政处罚,部分投资者将乐视网贾跃亭等人起诉到北京金融法院。5月12日,北青北京头条记者从阿里的特殊日子,马云高调现身,笑容气色都不错阿里的特殊日子阿里巴巴作为国内最大的互联网公司之一,虽然近两年遭遇了一些挫折,但是依然能保持平稳的发展状态,并且拥有很多支持者。前段时间,阿里被国内处以了182。28亿元的罚款,原最强代言马斯克又又发话你希望特斯拉接受用狗狗币支付吗?(来源Twitter)当地时间5月11日,特斯拉CEO埃隆马斯克(ElonMusk)在推特上发起投票你希望特斯拉接受用狗狗币(Gogecoin)支付吗?最终392万用户参与了投票,鸿蒙OS开发版已陆续推送,首批用户真实评价出炉,部分评价太无奈当华为公司公布鸿蒙OS系统存在的那一刻,国内就有众多人开始关注这一新系统了,不仅仅华为手机用户非常重视,就连普通的网友也很感兴趣,因为鸿蒙OS系统不像华为此前基于安卓深度优化的EM