后续补充

/**
* 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. Java的四个基本特性和对多态的理解

    Java面向对象的四大基本特性:抽象.封装.继承.多态. 多态的实现方式:重载.继承.接口 Java中多态性的实现 什么是多态 面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是 ...

  2. IIS(互联网信息服务)

    ylbtech-Miscellaneos:IIS(互联网信息服务) IIS是Internet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Micros ...

  3. 在ASP.NET MVC中以post方式传递数组参数的示例【转】

    最近在工作中用到了在ASP.NET MVC中以post方式传递数组参数的情况,记录下来,以供参考. 一.准备参数对象 在本例中,我会传递两个数组参数:一个字符串数组,一个自定义对象数组.这个自定义对象 ...

  4. jQuery EasyUI Datagrid性能优化专题(转)

    jQuery  EasyUI的Datagrid组件功能算是很强大了,不过性能确实不怎么乐观,而对于性能问题,网络上几乎也找不到相关的优化资料,所谓的牛人们可能 都望而却步了.本博客以后会带着分析Dat ...

  5. 会动的文字Marquee应用(转)

    想要做个滚动公告,看了网上的教程,无一不是很恐怖的场频啊java语言编制的JS,或者就是各种复杂,无意中发现了Marquee这东西,用了一下,很简单,只需两行代码,即可以实现很好的效果,特此分享一下. ...

  6. 10 个非常有用的 SVG 动画的 JavaScript 库

    SVG 通常可以用作跨分辨率视频.这意味着在一块高分屏幕上不会降低图片的锐度.此外,你甚至可以让SVG动起来,通过使用一些javascript类库.下面,我们分享一些javascript类库,这些类库 ...

  7. .NET 常用加密、解密& 数字签名算法

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Run ...

  8. nodejs pipe实现大文件拷贝

    原文: http://nqdeng.github.io/7-days-nodejs/ --------------------------------------------------------- ...

  9. Magento错误 Illegal scheme supplied, only alphanumeric characters are permitted

    1.检查表core_config_data 'web/unsecure/base_url' 和'web/secure/base_url' 的值是否是正确的链接地址 2.删除系统目录var下所有子目录及 ...

  10. 转:centos7 安装与使用 postgreSQL

    一. 安装与基本说明都非常的详细. https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql ...