后续补充

/**
* Created by dengy on 2017/12/18.
*/
object grammarPractise {
def main(args: Array[String]) { //=======================================================//
def fun(str1: String, str2: String) = {
str1 + "\t" + str2
} println( fun("spark", "hadoop") ) //spark hadoop val add = (str1:String, str2:String)=> str1+ "\t" +str2 println(add("spark", "hadoop")) //spark hadoop def g( f:(String,String)=>String ,str1:String,str2:String)={
val line = f(str1,str2)
println(line)
} g(add, "Spark", "Hadoop") //spark hadoop //这个确实一中 调用的办法, 是 传 函数的一种办法。三个结果都是: Spark Hadoop
//=======================================================// // 变量的 集合中的变量
val list = List.range(1,10)
println( list.mkString("[","\t","]")) //[1 2 3 4 5 6 7 8 9] val list2 = list.filter( ( x:Int )=> x%2==0 )
println( list2.mkString("[","\t","]") ) //[2 4 6 8] val list3 = list.filter(x=>x%2==0)
println(list3.mkString("[","\t","]")) //[2 4 6 8] val list4 = list.filter(_%2==0)
println(list4.mkString("[","\t","]")) //[2 4 6 8] //=======================================================// // 传递函数
val sayHello:()=> Unit = () =>println("hello") def g1(f:()=>Unit,num:Int)={
for(i<-1 to num)f()
}
g1(sayHello,5) // 5个 hello //=======================================================// //传递String参数
def saySomething(str1:String)= (str2:String) => println( str1+"\t"+str2 ) val aa:String=>Unit=saySomething("spark") aa("hadoop") //spark hadoop //=======================================================// var standardAge = 20
val aa1 = (age:Int)=> age>=standardAge //这个最后是个boolean型
println(aa1(22)) //true def g2( f:Int=>Boolean, age:Int):Unit={ //注意这里的写法
println( f(age) )
}
g2(aa1,22) //true
standardAge = 23
g2(aa1,22) //false ,注意,这里调用的aa1中standardAge,已经被改了,所以为false //=======================================================//
//调用函数,实现加法
var more = 10
val x=(one:Int)=>one+more
println(x(20)) //30
more=20
println(x(20)) //40 //=======================================================// //foreache 累加
var sum = 0
val array = Array(10,20,30)
array.foreach(f=> sum=sum+f )
println(sum) //=======================================================// }
}

  

scala 几个函数小例子的更多相关文章

  1. js 回调函数小例子

    js 回调函数小例子 <script> //将函数作为另一个函数的参数 function test1(){ alert("我是test1"); } function t ...

  2. python-简单函数小例子 单位转换

    第一种方法def fahrenheit_converter(g): fahrenheit = g /1000 return str(fahrenheit) + 'kg' #调用函数g2kg = fah ...

  3. python 的zip 函数小例子

    In [57]: name = ('Tome','Rick','Stephon') In [58]: age = (45,23,55) In [59]: for a,n in zip (name,ag ...

  4. Spark记录-Scala类与对象小例子

    //基类-Person class Person(val na: String, val ag: Int) { //属性 var name: String = na var age: Int = ag ...

  5. c/c++ 模板与STL小例子系列<二> 模板类与友元函数

    c/c++ 模板与STL小例子系列 模板类与友元函数 比如某个类是个模板类D,有个需求是需要重载D的operator<<函数,这时就需要用到友元. 实现这样的友元需要3个必要步骤 1,在模 ...

  6. scala编程(八)——函数和闭包

    当程序变得庞大时,你需要一些方法把它们分割成更小的,更易管理的片段.为了分割控制流,Scala 提供了所有有经验的程序员都熟悉的方式:把代码分割成函数.实际上,Scala 提供了许多 Java 中没有 ...

  7. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  8. Runtime的几个小例子(含Demo)

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  9. 【zTree】 zTree使用的 小例子

    使用zTree树不是第一次了  但是 还是翻阅着之前做的 对照着 使用起来比较方便  这里就把小例子列出来   总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先  在 ...

随机推荐

  1. 启明星会议室系统与Office365集成说明

    在本文,我们将介绍如何配置Office365,以便改系统能够支持启明星会议室预定系统. In this article, we will introduct how to config microso ...

  2. golang导入包的几个说明:import

    导入包: 标准包使用的是给定的短路径,如"fmt"."net/http" 自己的包,需要在工作目录(GOPATH)下指定一个目录,improt 导入包,实际上就 ...

  3. JAVA中String.format的用法 转16进制,还可以补0

    1.对整数进行格式化:%[index$][标识][最小宽度]转换方式        我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解, ...

  4. leetcode关于数组的问题

    关于数组的几道面试题 [Leetcode] 628. 三个数的最大乘积 解题思路: 这个一开始我是没想到思路的(除了遍历),因为有正负号的问题,后来看了一下别人的思路然后自己写的,思路是这样的: 三个 ...

  5. mysql分布式数据库中间件对比

    目前数据库中间件有很多,基本这些中间件在下都有了解和使用,各种中间件优缺点及使用场景也都有些心的.所以总结一个关于中间件比较的系列,希望可以对大家有帮助. 1. 什么是中间件 传统的架构模式就是 应用 ...

  6. 谁为你的app捡肥皂

    2048奇迹,是大多数个人开发者的梦寐以求的期望.而做出flappy bird这样跨时代的游戏,则能够让我们赚的盆满钵满.那么我们怎么样使我们app与众不同,脱颖而出了. 我们这些凡夫俗子程序员们,对 ...

  7. memcache的资料集

    1. 安装与查看过程(完整) https://www.cyberciti.biz/faq/rhel-fedora-linux-install-memcached-caching-system-rpm/ ...

  8. hadoop无法启动

    dataNode 无法启动是配置过程中最常见的问题,主要原因是多次format namenode 造成namenode 和datanode的clusterID不一致.建议查看datanode上面的lo ...

  9. 判断一个整数是否是2的n次方

    参考:http://bbs.csdn.net/topics/370058619 如题,如何判断一个整数是否是2的N次方,我能想到的方法有两个 1.一直除2,看最后是否等于1.(最笨的方法) 2.转换成 ...

  10. css 下边框

    float: left; width: 1200px; height: 42px; background-color: #fff0; /* background-color: #4f4aff; */ ...