我在Scala中看到了以下函数:
def sqrtIter(guess: Double, x: Double): Double =
if (isGoodEnough(guess, x)) guess
else sqrtIter(improve(guess, x), x)
Run Code Online (Sandbox Code Playgroud)
随着解释:
请注意,sqrtIter是递归的,它的右侧是自己调用的
有人可以在这里解释"右手边"的含义吗?
右手侧(rhs)和左手侧(lhs)是常用词,用于描述由分隔符标记的边.
对于Scala,分隔符号是等号.这意味着lhs总是指定一个定义,比如
def sqrtIter(guess: Double, x: Double): Double
Run Code Online (Sandbox Code Playgroud)
而rhs总是指定实现,比如
if (isGoodEnough(guess, x)) guess
else sqrtIter(improve(guess, x), x)
Run Code Online (Sandbox Code Playgroud)
最后lhs,rhs和分隔符符号形成整个语句:
<lhs> = <rhs>
Run Code Online (Sandbox Code Playgroud)