July 2017
Intermediate to advanced
284 pages
6h 45m
English
Scala also provides lazy collections, which allow us to postpone the creation to just in time or on-demand. This allows us to express some algorithms or logic in very succinct manner. Let’s see how laziness can be useful.
The following code will help us determine if a given number is prime:
| | def isPrime(number : Int) = { |
| | val sqrtOfNumber = math.sqrt(number).toInt |
| | val hasFactorsOtherThan1AndItself = |
| | (2 to sqrtOfNumber).exists { i => number % i == 0 } |
| | number > 1 && !hasFactorsOtherThan1AndItself |
| | } |
Suppose we need to determine a list of prime numbers. We could express it like this:
| | //Won't work |
| | def primes(number : Int) : List[Int] = { |
| | if(isPrime(number)) number :: primes(number ... |
Read now
Unlock full access