文档章节

内建控制结构之重构指令风格的代码为函数式风格

柳哥
 柳哥
发布于 2014/06/07 16:23
字数 94
阅读 42
收藏 1
点赞 0
评论 0

本节我们将重构上一节中的例子(乘法表),将其重构为纯函数式风格代码。如例:

结果:

注:这里只要注意两个地方,第一个,val padding = “ “ * (4 -prod.length)这句使用了隐式转换;第二个,就是mkString方法的使用。

© 著作权归作者所有

共有 人打赏支持
柳哥
粉丝 201
博文 394
码字总数 347782
作品 0
杭州
技术主管
内建控制结构之if表达式

Scala的if语句与其它语言相比没有什么不同。它可以检测条件并根据其是否为真,执行两个分支中的一个。下面是常见的以指令式风格编写的例子: package scalaTestobject Test4 { def main(arg...

柳哥 ⋅ 2014/06/07 ⋅ 0

scala入门之识别函数式风格

scala允许指令式的编程风格,但是鼓励采用函数式的风格。如果你是从指令式的背景转到scala来的-----例如,如果你是Java程序员------那么学习scala将面对的主要挑战就是理解怎样用函数式的风格...

柳哥 ⋅ 2014/06/05 ⋅ 0

函数式编程思想:耦合和组合

面向对象编程通过封装变动部分把代码变成易懂的,函数式编程则是通过最小化变动部分来把代码变成易懂的。——Michael Feathers,Working with Legacy Code一书的作者 每天都以某种特定的抽象...

mj4738 ⋅ 2011/11/01 ⋅ 0

内建控制结构之不再使用break和continue

Scala中没有把break与continue作为关键字,scala去掉了这些命令因为它们与函数式字面量啮合得不好。Continue在while循环中的意思很清楚,但是在函数式字面量中表示什么呢?虽然scala既支持指...

柳哥 ⋅ 2014/06/07 ⋅ 0

你试过这样写C程序吗?

摘要 面向对象风格和函数式编程风格是编写代码的两种风格,面向对象风格早为大众所认知,函数式风格也渐渐受到大家的关注。网上为其布道的文章不少,有人赞扬有人不屑,但鲜有展示一个完整例...

redraiment ⋅ 2013/12/28 ⋅ 4

[λ]你试过这样写C程序吗?

摘要 面向对象风格和函数式编程风格是编写代码的两种风格,面向对象风格早为大众所认知,函数式风格也渐渐受到大家的关注。网上为其布道的文章不少,有人赞扬有人不屑,但鲜有展示一个完整例...

redraiment ⋅ 2013/08/17 ⋅ 33

Web前端开发神器WebStorm v2016.3发布,全新的Flow支持

语言支持 Flow支持 现在可以看到类型错误报告的流程,一个静态类型检查系统,无需保存文件即可使用。 更好的TypeScript TypeScript代码分析现在由TypeScript语言服务支持。WebStorm提供了强大...

zoujiajun33 ⋅ 2016/11/23 ⋅ 0

Python函数式编程指南(一):概述

这大概算是Python最难啃的一块骨头吧。在我 Python生涯的这一年里,我遇到了一些Pythoner,他们毫无例外地完全不会使用函数式编程(有些人喜欢称为Pythonic),比如,从来不会 传递函数,不知...

icheer ⋅ 2012/05/31 ⋅ 0

C++ 编程规范

组织和策略问题 第0条 不要拘泥于小节(又名:了解哪些东西不应该标准化) 无需在多个项目或者整个公司范围内强制实施一致的编码格式。 第1条 在高警告级别干净利落地进行编译 高度重视警告...

ucliaohh ⋅ 2016/10/14 ⋅ 0

[转]C/C++编码规范总结

一、文件排版方面 1.包含头文件 1.1 先系统头文件,后用户头文件。 1.2 系统头文件,稳定的目录结构,应采用包含子路径方式。 1.3 自定义头文件,不稳定目录结构,应在dsp中指定包含路径。 ...

四彩 ⋅ 2016/02/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

设计模式--装饰者模式

装饰者模式 定义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 通用类图 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比...

gaob2001 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部