我學習Scala的個人興趣,我通過以下,其中我期待的返回值困惑,最終打印52:斯卡拉返回值不是預期
def lexicalTest(a: Int) = {
(b: Int) => {
(c: Int) => {
a + b + c
}
}
}
val step01 = lexicalTest(10)
val step02 = step01(10)
def plusThirty(a: Int, b: Int) {
a + b
}
println(plusThirty(22, step02(10)))
如果步驟02( 10)肯定會返回30,並且它是Int類型,那麼爲什麼我的返回值等於()
FWIW:我是從使這種事情在JavaScript中工作的角度來的。
更新:謝謝餅乾怪物,def plusThirty(a: Int, b: Int) {
應該讀def plusThirty(a: Int, b: Int) = {
我不我不知道關於Scala的一些東西,但我注意到你的'plusThirty'函數的第一行中沒有'='。我在一個在線的Scala評估器中嘗試過,並修復了它。 'def plusThirty(a:Int,b:Int)= {' –
啊!非常感謝你。總是在自己的背部刺傷=)它的工作原理 – biscuitsauce
不客氣。 –