以下功能的执行流程是什么?

问题描述 投票:-1回答:1

我不理解调用y(k)之后,在函数“ y”中首先执行什么?参数或主体功能。数字5如何到达函数k

def k(x:Int) = x*x

def y(h:Int => Int) = h(5)

y(k)

输出:

25
scala function
1个回答
1
投票

因此,[[Functional Programming的美在于我们可以将表达式或程序作为表达式进行推理。

给出:

def k(x: Int) = x * x // 1. def y(h: Int => Int) = h(5) // 2.

然后:

y(k) = k(5) // By definition of y (2). y(k) = 5 * 5 // By definition of k (1). y(k) = 25 // By definition of multiplication.


这里有一些简化。就像我没有进行类型检查一样,但是应该可以很直接地看到它。

© www.soinside.com 2019 - 2024. All rights reserved.