相关疑难解决方法(0)

Scala中方法和函数之间的区别

我阅读了Scala Functions(另一个Scala之旅的一部分).在那篇文章中他说:

方法和功能不是一回事

但他没有解释任何有关它的事情.他想说什么?

methods scala function

244
推荐指数
6
解决办法
7万
查看次数

Scala中的函数与方法

我正在观看Runar Bjarnason的初学者函数式编程,并在14:45他定义了一个方法:

def isDivisibleBy(k: Int): Int => Boolean = i => i % k == 0
Run Code Online (Sandbox Code Playgroud)

和功能:

val isEven = isDivisibleBy(2)
Run Code Online (Sandbox Code Playgroud)

定义isEven为函数而不是方法的优点和缺点是什么?

我已经阅读了Scala函数与方法以及Scala中方法和函数之间的区别,并且我理解语义差异,但我想知道在这种情况下是否有更深层次的原因为什么函数可能或可能不优于使用方法:

def isEven = isDivisibleBy(2)
Run Code Online (Sandbox Code Playgroud)

scala

46
推荐指数
3
解决办法
2万
查看次数

两种在Scala中定义函数的方法.有什么不同?

这是一个Scala会话,它定义并尝试了一些函数:

scala> def test1(str: String) = str + str;    
test1: (str: String)java.lang.String

scala> test1("ab")
res0: java.lang.String = abab
Run Code Online (Sandbox Code Playgroud)

很好地工作.

scala> val test2 = test1
<console>:6: error: missing arguments for method test1 in object $iw;
follow this method with `_' if you want to treat it as a partially applied function
       val test2 = test1
                   ^
Run Code Online (Sandbox Code Playgroud)

哎呀.

scala> val test2 = test1 _
test2: (String) => java.lang.String = <function1>

scala> test2("ab")
res1: java.lang.String = abab
Run Code Online (Sandbox Code Playgroud)

效果很好!

现在,我已经看到_折叠时的语法(_ + …

scala function currying

44
推荐指数
3
解决办法
3万
查看次数

标签 统计

scala ×3

function ×2

currying ×1

methods ×1