这个图看不清楚【查看原图也看不清楚】,能不能吧问题贴出来呢?
1. IDEA
2. 后缀是.sc的文件即可
可以下载,只不过非常慢
调用的传进来的函数,也就是 f(n) = n , f(n) = n * n ...
你用scala worksheet 保存以后会自动得出的
def walk2(list2:List[Int],string:String):String={ println(s"list2= ${list2},string=${string}") if(list2.isEmpty) string+"啊哈哈,变成空了吧" else walk2( list2.tail,string + list2.head + "JJ") } walk2(a,"")
提示有log日志地址吧?打开具体看下,我的是 java.lang.NoClassDefFoundError: javax/annotation/PostConstruct,百度提示下解决
对于命令式编程而言,由于涉及多线程之间的状态共享,就需要引入锁机制实现并发控制。而函数式编程则不会在多个线程之间共享状态,不会造成资源争用,也就不需要通锁机制来保护可变状态,自然也就不会出现死锁,这样可以更好地实现并行处理。--《Spark编程基础》。这段话应该说明了一些原因。
这个老师不会解答吗?相信很多人都遇到了啊
一般翻译为“推导式”
可能是因为没有占用内存分配
重看一下 尾递归 章节视频吧. Scala有优化的.
println("哪里不一样?")
没讲
def add(a:Int)(b:Int):Int=a+b//颗粒(柯里化)
def method = add(1)_ //让a等于1,后面的参数用通配符_通配,即偏应用函数,是函数类型的
method(2)//让b等于2,完成1+2=3
看不到就不看了呗,听着 和看有什么区别
可以参考官方API文档介绍,
== 定义如下
意思是表达式“ x==that”中,如果that为null,则调用 eq, 否则调用equals
eq 定义如下
意思是,eq比较对象的引用是否一致。
equals定义如下
equals 比较类型且值为一致
你的 s1 和 s2 值一致且非空, 使用 == 和 equals 得到一致答案, 使用eq比对引用则是false
视频有问题,求改!!!
val result_for=for { s <- l s1=s.toUpperCase(); if(s1 != "") }yield (s1) def main(args: Array[String]): Unit = { println(result_for) }
评论有对应内容。
添加sbt的系统环境变量
不是Ctrl + s吗
你直接输入scala就行了
filter之后继续接上.filter过滤吧
t---v
0---1--->t=0+2
2---4--->t=2+2
4---1--->t=4+2
我这么理解的
不知道啊,自己测试下耗时?
s是string,name是一个变量名,$是引用name这个字符串变量,输出Hello,和name这个变量里的东西;如果name="Tom",那他就输出Hello,Tom