2017年2月28日

按名称传递参数

摘要: 通常情况下,函数的参数是传值参数;即参数的值在它被传递给函数之前被确定。但是,如果我们需要编写一个接收参数不希望马上计算,直到调用函数内的表达式才进行真正的计算的函数。对于这种情况,Scala提供按名称参数调用函数。 示例代码如下: 结果: 在代码中,如果定义函数的时候,传入参数不是传入的值,而是传 阅读全文

posted @ 2017-02-28 23:54 为尊严而奋斗 阅读(2260) 评论(0) 推荐(0) 编辑

使用命名参数

摘要: 在正常的函数调用中,调用参数在调用函数中是按其定义时的参数顺序进行一一匹配。如果需要按不同的顺序传递参数,就要使用到Scala的一种函数特性——命名参数。 命名参数使用方法很简单,即在调用函数时,指定参数名并进行赋值。示例代码如下: 结果: 从代码和结果中就可以看出使用命名参数的优点:在需要时可以任 阅读全文

posted @ 2017-02-28 20:42 为尊严而奋斗 阅读(173) 评论(0) 推荐(0) 编辑

变量值的函数和借贷函数

摘要: 在Scala中,函数是“头等公民”,几乎所有的操作都是以函数形式进行。同样的,能够在变量中存放函数(听上去很神奇吧)。示例如下: 本段代码将ceil函数赋值给fun变量,ceil后面的_表名这是一个函数,而不是碰巧忘记给它传参。 在scala中,不需要为每个函数命名,这种没有命名的函数叫做匿名函数。 阅读全文

posted @ 2017-02-28 19:56 为尊严而奋斗 阅读(197) 评论(0) 推荐(0) 编辑

高阶函数

摘要: 带函数参数的函数由于是一个接受函数参数的函数,故被称为高阶函数,像之前讲到的map()函数就是高阶函数。如下例所示: 上述代码中,apply函数接受一个函数f作为参数,接受一个Int类型的参数,进行f(v)运算,在下面又给出了f具体的定义(layout函数)。 同样的,高阶函数也可以产出另一个函数( 阅读全文

posted @ 2017-02-28 19:45 为尊严而奋斗 阅读(194) 评论(0) 推荐(0) 编辑

柯里化函数

摘要: 柯里化是指将原来接收两个参数的函数变成接收一个参数的函数的过程,新的函数返回一个以原有第二个参数作为参数的函数。是不是有种被绕晕了的感觉,先别急,先看一个示例: 结果: 这里可以看出,柯里化函数与多个参数的函数具有相同的功能,这中间有一个“应用部分函数”,或者叫“偏应用函数”,这个函数multipl 阅读全文

posted @ 2017-02-28 17:12 为尊严而奋斗 阅读(433) 评论(0) 推荐(0) 编辑

导航