mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-04-27 07:33:57 +00:00
Merge pull request #2769 from cincodenada/patch-2
[scala/en] Make return value example actually demonstrate issue
This commit is contained in:
commit
49a2bf306f
@ -253,16 +253,20 @@ weirdSum(2, 4) // => 16
|
|||||||
// def that surrounds it.
|
// def that surrounds it.
|
||||||
// WARNING: Using return in Scala is error-prone and should be avoided.
|
// WARNING: Using return in Scala is error-prone and should be avoided.
|
||||||
// It has no effect on anonymous functions. For example:
|
// It has no effect on anonymous functions. For example:
|
||||||
def foo(x: Int): Int = {
|
def addTenButMaybeTwelve(x: Int): Int = {
|
||||||
val anonFunc: Int => Int = { z =>
|
val anonMaybeAddTwo: Int => Int = { z =>
|
||||||
if (z > 5)
|
if (z > 5)
|
||||||
return z // This line makes z the return value of foo!
|
return z // This line makes z the return value of addTenButMaybeTwelve!
|
||||||
else
|
else
|
||||||
z + 2 // This line is the return value of anonFunc
|
z + 2 // This line is the return value of anonMaybeAddTwo
|
||||||
}
|
}
|
||||||
anonFunc(x) // This line is the return value of foo
|
anonMaybeAddTwo(x) + 10 // This line is the return value of addTenButMaybeTwelve
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addTenButMaybeTwelve(2) // Returns 14 as expected: 2 <= 5, adds 12
|
||||||
|
addTenButMaybeTwelve(7) // Returns 7: 7 > 5, return value set to z, so
|
||||||
|
// last line doesn't get called and 10 is not added
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////
|
/////////////////////////////////////////////////
|
||||||
// 3. Flow Control
|
// 3. Flow Control
|
||||||
|
Loading…
Reference in New Issue
Block a user