scala函数和方法的差别
想知道什么差别,把代码复制下来运行看结果
// 1 1 2 3 5 8 13
def f(x:Int) :Int=
{
if(x==)
return
else if(x==)
return
else
f(x-)+f(x-)
}
println(f()) // val ff =(cur: Int,x: =>Int) =>
// {
// if(cur==0)
// 1
// else if(cur==1)
// 1
// else
// // {
// // x(cur-1)+x(cur-2)
// // }
// 0
// } def funcResult1(message:String) :AnyRef
= (name:String)=>println(message+" : "+name)
//原先写法 def fimcResult1(message:String,name:String)
//{println(message+" : "+name)}
funcResult1("Hello")//("Java")
val result = funcResult1("Hello")//与前面的调用方法相同
//result("java")
println(result);
val x = funcResult1
println(x(""))
scala函数和方法的差别的更多相关文章
- 大数据学习——scala函数与方法
package com /** * Created by Administrator on 2019/4/8. */ object TestMap { def ttt(f: Int => Int ...
- 学好Spark/Kafka必须要掌握的Scala技术点(三)高阶函数、方法、柯里化、隐式转换
5. 高阶函数 Scala中的高阶函数包含:作为值的函数.匿名函数.闭包.柯里化等,可以把函数作为参数传递给方法或函数. 5.1 作为值的函数 定义函数时格式: val 变量名 = (输入参数类型和个 ...
- 大数据学习day15----第三阶段----scala03--------1.函数(“_”的使用, 函数和方法的区别)2. 数组和集合常用的方法(迭代器,并行集合) 3. 深度理解函数 4 练习(用java实现类似Scala函数式编程的功能(不能使用Lambda表达式))
1. 函数 函数就是一个非常灵活的运算逻辑,可以灵活的将函数传入方法中,前提是方法中接收的是类型一致的函数类型 函数式编程的好处:想要做什么就调用相应的方法(fliter.map.groupBy.so ...
- Matlab中函数定义方法
Matlab自定义函数的六种方法 n1.函数文件+调用函数(命令)文件:需单独定义一个自定义函数的M文件: n2.函数文件+子函数:定义一个具有多个自定义函数的M文件: n3.Inline:无需M文件 ...
- Scala 函数(五)
函数是一组一起执行一个任务的语句. 您可以把代码划分到不同的函数中.如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的. Scala 有函数和方法, ...
- matlab中同一文件定义子函数的方法
在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同在一个m文件中通常有两种定义子函数的方法: 1.嵌套定义 myfunc1会和主函数共享变量名.这种情况 ...
- Scala:函数和闭包
http://blog.csdn.net/pipisorry/article/details/52902271 Scala函数 Scala 有函数和方法,二者在语义上的区别很小.Scala 方法是类的 ...
- Scala进阶之路-Scala函数篇详解
Scala进阶之路-Scala函数篇详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传值调用和传名调用 /* @author :yinzhengjie Blog:http: ...
- Spark记录-Scala函数
Scala函数 Scala有函数和方法. Scala方法是一个具有名称和签名的类的一部分. Scala中的函数是一个可以分配给变量的完整对象. 函数定义可以出现在源文件中的任何位置. 不带参数的函数 ...
随机推荐
- MySQL GTID 主从复制错误修复方法
https://yq.aliyun.com/articles/155827?spm=5176.8067842.tagmain.6.RFPTAL MySQL 传统的主从复制方式使用 master_log ...
- excel技巧--复制带excel侧边的表格
假设要复制出带excel侧边的表格内容,则使用以下步骤: 1.选择要复制的表格: 2.选择“页面布局”->“标题”选项的“打印”打勾: 3.选择“开始”->复制旁的三角选项:复制为图片: ...
- CentOS 6 上安装 pip、setuptools
通常 python 升级后,会带来一系列的出错信息,例如缺少pip.zlib.setuptools等,虽然你已经把python升级到了2.7版本,但是使用的依赖.模块还是旧的,所以要在新的 pytho ...
- 固态硬盘SSD,机械硬盘HDD,4K速度对比。
HDD - SSD -
- 删除右键菜单中的Git
在打开的注册表中找到:HKEY_CLASSES_ROOT,并点HKEY_CLASSES_ROOT前面的小三角:找到Directory,点击前面的小三角:找到Background,点击前面的小三角:打开 ...
- HTML5 Canvas水波纹动画特效
HTML5的Canvas特性非常实用,我们不仅可以在Canvas画布上绘制各种图形,也可以制作绚丽的动画,比如这次介绍的水波纹动画特效.以前我们也分享过一款基于HTML5 WebGL的水波荡漾动画,让 ...
- Daubechies小波介绍
Daubechies小波是正交.连续且紧支撑的. 正交条件下,$H(\omega)$必须满足下式: $|H(\omega)|^2+|H(\omega + \pi)|^2 =1$ 连续紧支撑条件下,$H ...
- Shader-另类实现
利用Panel的Clipping 裁剪模式(其实该实现方式也是shader)主要是修改 centX 与 Size就ok的 . panel.baseClipRegion=new Vector4(cenX ...
- MOngoDB为现有数据添加或删除某一字段
var lst =db.getCollection('config').find({}); while(lst.hasNext()) { var site=lst.next(); db.config. ...
- Spring-framework应用程序启动loadtime源码分析笔记(二)——@Transactional
@Transactional标识类或方法,使方法被执行时使用事务方式执行,这里只讨论PROXY方法增强方法.使用@EnableTransactionManagement,默认model=AdviceM ...