scala 几个函数小例子
后续补充
/**
* 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 几个函数小例子的更多相关文章
- js 回调函数小例子
js 回调函数小例子 <script> //将函数作为另一个函数的参数 function test1(){ alert("我是test1"); } function t ...
- python-简单函数小例子 单位转换
第一种方法def fahrenheit_converter(g): fahrenheit = g /1000 return str(fahrenheit) + 'kg' #调用函数g2kg = fah ...
- python 的zip 函数小例子
In [57]: name = ('Tome','Rick','Stephon') In [58]: age = (45,23,55) In [59]: for a,n in zip (name,ag ...
- Spark记录-Scala类与对象小例子
//基类-Person class Person(val na: String, val ag: Int) { //属性 var name: String = na var age: Int = ag ...
- c/c++ 模板与STL小例子系列<二> 模板类与友元函数
c/c++ 模板与STL小例子系列 模板类与友元函数 比如某个类是个模板类D,有个需求是需要重载D的operator<<函数,这时就需要用到友元. 实现这样的友元需要3个必要步骤 1,在模 ...
- scala编程(八)——函数和闭包
当程序变得庞大时,你需要一些方法把它们分割成更小的,更易管理的片段.为了分割控制流,Scala 提供了所有有经验的程序员都熟悉的方式:把代码分割成函数.实际上,Scala 提供了许多 Java 中没有 ...
- java即时通信小例子
学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...
- Runtime的几个小例子(含Demo)
一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.) 1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数); [runti ...
- 【zTree】 zTree使用的 小例子
使用zTree树不是第一次了 但是 还是翻阅着之前做的 对照着 使用起来比较方便 这里就把小例子列出来 总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先 在 ...
随机推荐
- SQL Script for select data from ebs and make a csv file to FTP
DECLARE CURSOR cur_lcy_test IS SELECT rcta.customer_trx_id, rcta.trx_number, rcta.trx_date FROM ra_c ...
- dubbo源码解析-spi(3)
前言 在上一篇的末尾,我们提到了dubbo的spi中增加了IoC和AOP的功能.那么本篇就讲一下这个增加的IoC,spi部分预计会有四篇,因为这东西实在是太重要了.温故而知新,我们先来回顾一下,我们之 ...
- EF6源码学习-准备篇
现在对于.net开发人员来说EF已经很流行了,虽然我在2010年的时候就用过EF,也看过几本书,但是还没有仔细研究EF的code, 曾经也尝试阅读EF5的源代码,后来由于时间关系也没有坚持住.现在计划 ...
- Gridview 单选效果实现,且用且珍惜
Gridview 单选效果,在androidapp中实现非常频繁,我这里提供我的一种思路,这是我的思维导图: 怎么样将这样的思维导图翻译成java代码了,请看下面的代码了: // 电子产品的图片列表信 ...
- laravel5.5 dingo/api+jwt-auth
因为laravel5.5 具有发现包功能,只要包做了兼容laravel5.5就可以不用在config/app.php添加额外代码了. 集成dingo/api github:https://github ...
- NLP--自然语言处理与机器学习会议
http://blog.csdn.net/ice110956/article/details/17090061 整理至11月中旬在重庆参加的自然语言处理与机器学习会议,第一讲为自然语言处理. 由基本理 ...
- ubuntu16.04与mysql的运维注意事项
1:环境 ubuntu16.04 虚拟机,需要搭建一个MySQL的生产或者测试环境 2:操作步骤 2.1:更新系统源 首次给root用户指定密码 ,先用安装用户登录 sudo apt-get up ...
- [Algorithm] Powerset Problem
By given an array [1,2,3]: Return all possible combinations. for example: [[], [1], [2], [3], [1, 2] ...
- ASP入门(六)-Response对象
Response对象可以从服务器向用户发送输出的结果. Response几种常用方法 方法 描述 BinaryWrite 向浏览器输出二进制的内容 Clear 清除已经缓冲的HTML输出 End 停止 ...
- [Canvas]碰撞球
观赏动态效果请点此下载并用Chrome/Firefox打开index.html 图例: 代码: <!DOCTYPE html> <html lang="utf-8" ...