`
liuchangshui
  • 浏览: 10765 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Scala语言学习6-Foreach与for举例与解析

阅读更多

Foreachfor举例与解析

在这个小结的介绍中,我们有必要对指令式编程风格与函数式变成风格进行介绍,而后我们采用实际的例子来看看指令式与函数式的差异

命令式编程是一种用程序状态描述计算的方法。使用这种范型的编程人员用语句改变程序状态。这就是为什么,像 Java 这样的程序是由一系列让计算机执行的命令 (或者语句) 所组成的。

另一方面,函数式编程是一种强调表达式的计算而非命令的执行的一种编程风格。表达式是用函数结合基本值构成的,它类似于用参数调用函数。

也就是说,函数式编程主要是函数调用,而不是其它的程序语句。而命令式编程,是通过程序语句的执行运行的。程序语句的执行,会改变程序中保存的状态。

         通过上面的简单介绍后,我们再来看看上一个小结中的while的时候,其实我们使用的就是命令式编程,这说明Scala是允许用户采用命令式编程的,那么作为函数语言的Scala肯定也会支持函数式编程的,举个例子来说

args.foreach(arg => println(arg))

 

D:\>scala helloWrold.scala hello world

hello

world

 

从运行的案例中我们可以看到函数文本的语法是 括号里的命名参数列表,右箭头,然后是函数体

接下来我们来看看Scala中的for语句是如何使用的

for (arg <- args)

  println(arg)

 

D:\>scala helloWrold.scala hello world

hello

world

 

 

这个表达式里“for”之后的括号包含arg<-args <-右侧的是熟悉的args数组。<-左侧的是 arg”, val的名称(不是var)。arg不能在for表达式的函数体中重新赋值。取而代之,对每个args数组的元素,一个新的arg val将被创建并初始化为元素值,然后for的函数体将被执行。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics